(1)統(tǒng)計(jì)一段非連續(xù)時(shí)間內(nèi)的數(shù)據(jù)情況,要求時(shí)間連續(xù)顯示
關(guān)鍵解決思路:
使用變量提前創(chuàng)建出連續(xù)時(shí)間,然后利用left join與group by 去統(tǒng)計(jì)
以下sql能利用變量創(chuàng)建出連續(xù)的時(shí)間,可按月累加、按日累加甚至按小時(shí)累加
DATE_ADD函數(shù):處理時(shí)間累加
INTERVAL:
DATE_FORMAT函數(shù):時(shí)間日期格式化
SELECT DATE_FORMAT(@cdate := DATE_ADD(@cdate, INTERVAL +1 MONTH),'%Y-%m') cday
FROM( SELECT @cdate := DATE_ADD('2018-01-01', INTERVAL -1 MONTH) FROM tt1 LIMIT 15) t0
WHERE DATE(@cdate) <= DATE_ADD('2018-12-01', INTERVAL -1 MONTH)
- 1
- 2
- 3