mysql不用开窗写连续3天购买
时间: 2023-05-25 21:05:10 浏览: 80
mysql界面使用
5星 · 资源好评率100%
可以使用INNER JOIN连续3天购买的情况,示例代码如下:
SELECT t1.user_id, t1.buy_date, t2.buy_date, t3.buy_date
FROM orders t1
INNER JOIN orders t2 ON t1.user_id = t2.user_id AND t1.buy_date = DATE_SUB(t2.buy_date, INTERVAL 1 DAY)
INNER JOIN orders t3 ON t2.user_id = t3.user_id AND t2.buy_date = DATE_SUB(t3.buy_date, INTERVAL 1 DAY)
WHERE t1.buy_date BETWEEN '2022-01-01' AND '2022-01-31'
AND t1.total_amount > 0 AND t2.total_amount > 0 AND t3.total_amount > 0
ORDER BY t1.user_id, t1.buy_date;
该查询会返回连续购买3天以上的用户ID,以及每个用户连续购买3天的日期。其中,t1表示订单表,t2表示与t1相连的同一个用户的订单表,t3表示与t2相连的同一个用户的订单表。使用INNER JOIN语句来连续三天购买情况的判断。
阅读全文