You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改SQL查询获取无订单且一年未活跃的WooCommerce用户

修改WooCommerce客户查询:加入12个月无活动筛选

你可以通过添加针对last_update元数据的筛选条件,过滤出超过12个月没有活动的客户。以下是修改后的完整SQL查询:

SELECT DISTINCT `user_id`
FROM `wp_usermeta`
WHERE
`user_id` IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'wp_capabilities' AND `meta_value` = 'a:1:{s:8:"customer";b:1;}') AND
`user_id` IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'first_name' AND `meta_value` = '') AND
`user_id` IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'last_name' AND `meta_value` = '') AND
`user_id` NOT IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'billing_first_name') AND
`user_id` NOT IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'billing_last_name') AND
`user_id` NOT IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = '_order_count' AND meta_value > 0) AND
-- 新增:筛选超过12个月无活动的客户
(
    -- 情况1:存在last_update记录且超过12个月未更新
    `user_id` IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'last_update' AND STR_TO_DATE(`meta_value`, '%Y-%m-%d %H:%i:%s') <= DATE_SUB(NOW(), INTERVAL 12 MONTH))
    OR
    -- 情况2:无last_update记录(视为从未有过活动)
    `user_id` NOT IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'last_update')
);

关键说明:

  • 如果你的last_update存储的是Unix时间戳而非日期字符串,把对应的条件替换为:
    `user_id` IN (SELECT DISTINCT `user_id` FROM `wp_usermeta` WHERE `meta_key` = 'last_update' AND CAST(`meta_value` AS UNSIGNED) <= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 12 MONTH)))
    
  • 注意替换表前缀wp_为你实际使用的WordPress数据库前缀。
  • 新增条件同时覆盖两类客户:有活动记录但超过12个月未活跃的,以及从未产生过任何活动记录的客户。

内容的提问来源于stack exchange,提问作者Zed0121

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 10:35:20