sql 每天下单的老客数量
sql编写小结
一般的题目:子查询或表连接即可
难一点的题目,需要用到高级函数,本质上还是使用简单查询语句的拼接。这个会有专门的篇章去做归纳汇总。
经典题目讲解
每天下单的老客数量
--每天下单的老客数量(老客:当天之前有购买过)
--订单表:orders; 字段:userId,itemId,addTime
--对订单表做去重处理,处理后只有userId和addTime
## 去重
SELECT userId,DATE(ADDTIME) daytime FROM orders GROUP BY daytime,userId
## 每天下单的
## 这里 group by T1.daytime,count T1.userId,连接条件 ON T1.userId=T2.userId
SELECT T1.daytime,COUNT(CASE WHEN T1.daytime>T2.daytime THEN T1.userId ELSE NULL END)
FROM T1 LEFT JOIN T2 ON T1.userId=T2.userId
GROUP BY T1.daytime
谋定而后动,知止而有得