鍍金池/ 問答/PHP  數(shù)據(jù)庫  HTML/ php+mysql 按不同時間粒度統(tǒng)計數(shù)據(jù)

php+mysql 按不同時間粒度統(tǒng)計數(shù)據(jù)

在做一個可視化數(shù)據(jù)的接口,可視化圖表的需求是:可以按照不同的粒度(即天\小時\半小時)去分組統(tǒng)計數(shù)據(jù).
舉個粒度為天的例子:
人流數(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)計出

count              date
2                  2017-12-20
1                  2017-12-19
0                  2017-12-18
1                  2017-12-17

這樣的結果,也就是按日期去分組統(tǒng)計人流量。
 
個人的嘗試: 
1、有想到用 group by DATE_FORMAT( time, "%Y-%m-%d" ) 去對日期分組,可是上面的2017-12-18這一天的人流是0,也就是在人流表里沒有記錄,是不會統(tǒng)計出來的,只會統(tǒng)計有人流記錄的日期,而且當粒度小于一個小時,比如30分鐘和15分鐘的時候,這個mysql語句應該怎么改?
2、網(wǎng)上有人說用一個日期常量表關聯(lián)查詢,可是那也只是在日期的粒度查詢的呀,如果有多個粒度的話就要去準備多個常量表?請教大神這種情況應該怎么處理最好?

回答
編輯回答
朕略傻

你可以轉化成時間戳進行計算

2018年8月11日 11:35
編輯回答
心悲涼

前端在可視化數(shù)據(jù)展示輸出的時候對沒有的天數(shù)進行補0不就好了么。

2017年10月10日 15:24
編輯回答
你的瞳

可視化圖表基本都是每隔一定時間去數(shù)據(jù)庫里讀取一次數(shù)據(jù),然后存儲到一個單獨的表里的吧?不應該做成每次看表都要實時生成的!定時讀取數(shù)據(jù)存儲到表里,讀取的時候直接根據(jù)這個表生成線性趨勢就可以了,很簡單吧!
否則,后端直接生成曲線數(shù)據(jù)那你就造常量表吧,太多這種需求要都這么干法,煩!

2018年8月12日 02:40
編輯回答
任她鬧

類似這種效果?
clipboard.png

2017年11月29日 04:59