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