在做一個(gè)可視化數(shù)據(jù)的接口,可視化圖表的需求是:可以按照不同的粒度(即天\小時(shí)\半小時(shí))去分組統(tǒng)計(jì)數(shù)據(jù).
舉個(gè)粒度為天的例子:
人流數(shù)據(jù)表:
id name time
1 ces 2017-12-20 10:10:00
2 xiaoming 2017-12-20 09:10:00
3 lisi 2017-12-19 02:10:00
4 zhangsan 2017-12-17 00:10:00
想要統(tǒng)計(jì)出
count date
2 2017-12-20
1 2017-12-19
0 2017-12-18
1 2017-12-17
這樣的結(jié)果,也就是按日期去分組統(tǒng)計(jì)人流量。
個(gè)人的嘗試:
1、有想到用 group by DATE_FORMAT( time, "%Y-%m-%d" ) 去對(duì)日期分組,可是上面的2017-12-18這一天的人流是0,也就是在人流表里沒有記錄,是不會(huì)統(tǒng)計(jì)出來的,只會(huì)統(tǒng)計(jì)有人流記錄的日期,而且當(dāng)粒度小于一個(gè)小時(shí),比如30分鐘和15分鐘的時(shí)候,這個(gè)mysql語句應(yīng)該怎么改?
2、網(wǎng)上有人說用一個(gè)日期常量表關(guān)聯(lián)查詢,可是那也只是在日期的粒度查詢的呀,如果有多個(gè)粒度的話就要去準(zhǔn)備多個(gè)常量表?請(qǐng)教大神這種情況應(yīng)該怎么處理最好?
4 回答

至尊寶的傳說
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個(gè)贊
前端在可視化數(shù)據(jù)展示輸出的時(shí)候?qū)]有的天數(shù)進(jìn)行補(bǔ)0不就好了么。

不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊
可視化圖表基本都是每隔一定時(shí)間去數(shù)據(jù)庫(kù)里讀取一次數(shù)據(jù),然后存儲(chǔ)到一個(gè)單獨(dú)的表里的吧?不應(yīng)該做成每次看表都要實(shí)時(shí)生成的!定時(shí)讀取數(shù)據(jù)存儲(chǔ)到表里,讀取的時(shí)候直接根據(jù)這個(gè)表生成線性趨勢(shì)就可以了,很簡(jiǎn)單吧!
否則,后端直接生成曲線數(shù)據(jù)那你就造常量表吧,太多這種需求要都這么干法,煩!
- 4 回答
- 0 關(guān)注
- 714 瀏覽
添加回答
舉報(bào)
0/150
提交
取消