我提交了一个类似的问题。显示在三个月的第一个月至少有一次购买并且在第二个月或第三个月至少有一个订单的所有客户的客户 ID 和姓名。
不确定这是否正确:
set @rundate = current_date;
set @Mnth_1 = DATE_SUB(@rundate, INTERVAL 6 MONTH);
set @Mnth_2 = DATE_SUB(@rundate, INTERVAL 5 MONTH);
set @Mnth_3 = DATE_SUB(@rundate, INTERVAL 4 MONTH);
Select c_id, c_name
From a_bkorders.bkv_CustOrders
Where Date_format(order_date, '%M %Y') = Date_format(@Mnth_1, '%M %Y')
and order_id in (
Select order_id
From a_bkorders.bkv_CustOrders
Where Date_format(order_date, '%M %Y') = Date_format(@Mnth_2, '%M %Y')
or Date_format(order_date, '%M %Y') = Date_format(@Mnth_3, '%M %Y'))\G