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

WooCommerce中如何查询customer角色用户的最后下单日期并向用户发邮件

关联WooCommerce订单表查询客户最后下单日期方案

首先明确WooCommerce默认表结构逻辑:订单数据存储在wp_posts表中,post_type = 'shop_order'标识订单类型,post_author字段关联下单用户ID,post_date为订单创建时间。

你可以通过子查询先聚合每个用户的最新订单时间,再和现有客户查询语句关联,完整SQL如下:

SELECT 
    u.ID, 
    u.user_nicename, 
    u.user_email,
    o.last_order_date
FROM wp_users u
INNER JOIN wp_usermeta um 
    ON u.ID = um.user_id 
LEFT JOIN (
    SELECT 
        post_author, 
        MAX(post_date) AS last_order_date
    FROM wp_posts
    WHERE post_type = 'shop_order'
    -- 可选:只统计有效订单,排除取消、退款等状态
    -- AND post_status IN ('wc-completed', 'wc-processing', 'wc-on-hold')
    GROUP BY post_author
) o ON u.ID = o.post_author
WHERE 
    um.meta_key = 'wp_capabilities' 
    AND um.meta_value LIKE '%customer%' 
ORDER BY u.user_nicename

说明

  • 使用LEFT JOIN关联订单子查询,会保留所有符合条件的客户用户,从未下过单的用户last_order_date字段会返回NULL;如果只需要查询有下单记录的用户,把LEFT JOIN改成INNER JOIN即可
  • 子查询中用MAX(post_date)聚合每个用户的最晚订单创建时间,搭配GROUP BY post_author保证每个用户只返回一条最新订单记录
  • 你可以根据需求添加订单状态过滤条件,只统计你认为有效的订单记录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:12:01