WITH orderA AS( #注意order是保留字段,需要重新署名 SELECT DATE(order_time) AS order_date, user_id, COUNT(distinct order_time) AS order_nums FROM order_tb GROUP BY DATE(order_time),user_id HAVING COUNT(distinct order_tb.order_time)>1 )# 由于用户维度的数据比较多,所以先分别计算再联表 SELECT orderA.order_date, orderA.user_id, orderA.order_nums, uservip_tb.vip FROM orderA LEFT JOIN uservip_tb ON orderA.user_id=uservip_tb.user_id ORDER BY orderA.order_nums DESC;