mysql按天/小時/半小時/N分鐘/分鐘進行數(shù)據(jù)分組統(tǒng)計功能
mysql不同時間粒度下的分組統(tǒng)計
我們在做項目或者數(shù)據(jù)分析時,經(jīng)常遇到這樣的需求:統(tǒng)計不同時間粒度下的數(shù)據(jù)分布情況,例如,每一天中每個小時網(wǎng)站的訪問量,某路口每半個小時通過的車輛數(shù)量等。對于此類的問題,一個sql簡單的查詢就能實現(xiàn),故特此記錄下,方便以后使用。
在MySQL中,我的表為:track
數(shù)據(jù)結構如下所示:
按天統(tǒng)計
SELECT DATE(TimeStart) AS date, COUNT(*) AS num FROM track WHERE Flag = 0 AND Duration >= 300 GROUP BY date ORDER BY date;
按小時統(tǒng)計
SELECT DATE_FORMAT(TimeStart, '%Y-%m-%d %H:00:00') AS time, COUNT(*) AS num FROM track WHERE Flag = 0 AND Duration >= 300 GROUP BY time ORDER BY time;
按半小時統(tǒng)計
SELECT time, COUNT( * ) AS num FROM ( SELECT Duration, DATE_FORMAT( concat( date( TimeStart ), ' ', HOUR ( TimeStart ), ':', floor( MINUTE ( TimeStart ) / 30 ) * 30 ), '%Y-%m-%d %H:%i' ) AS time FROM tarck WHERE Flag = 0 AND Duration >= 300 ) a GROUP BY DATE_FORMAT( time, '%Y-%m-%d %H:%i' ) ORDER BY time;
按N分鐘統(tǒng)計
SELECT time, COUNT( * ) AS num FROM ( SELECT Duration, DATE_FORMAT( concat( date( TimeStart ), ' ', HOUR ( TimeStart ), ':', floor( MINUTE ( TimeStart ) / 10 ) * 10 ), '%Y-%m-%d %H:%i' ) AS time FROM tarck WHERE Flag = 0 AND Duration >= 300 ) a GROUP BY DATE_FORMAT( time, '%Y-%m-%d %H:%i' ) ORDER BY time;
基本思路:將datetime類型的時間轉化為相應時間片的時間,例如將‘2017-03-01 01:08:19’ 轉化為‘2017-03-01 01:00:00’,然后group by即可。
按分鐘統(tǒng)計
將按小時統(tǒng)計的SQL語句稍微修改下,就可以實現(xiàn)按分鐘統(tǒng)計
SELECT DATE_FORMAT(TimeStart, '%Y-%m-%d %H:%i:00') AS time, COUNT(*) AS num FROM track WHERE Flag = 0 AND Duration >= 300 GROUP BY time ORDER BY time;
參考資料: https://blog.csdn.net/u010946448/article/details/83752984
到此這篇關于mysql按天/小時/半小時/N分鐘/分鐘進行數(shù)據(jù)分組統(tǒng)計的文章就介紹到這了,更多相關mysql數(shù)據(jù)分組統(tǒng)計內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入講解數(shù)據(jù)庫中Decimal類型的使用以及實現(xiàn)方法
MySQL?DECIMAL數(shù)據(jù)類型用于在數(shù)據(jù)庫中存儲精確的數(shù)值,我們經(jīng)常將DECIMAL數(shù)據(jù)類型用于保留準確精確度的列,例如會計系統(tǒng)中的貨幣數(shù)據(jù),下面這篇文章主要給大家介紹了關于數(shù)據(jù)庫中Decimal類型的使用以及實現(xiàn)方法的相關資料,需要的朋友可以參考下2022-02-02MySQL的Redo Log數(shù)據(jù)恢復核心機制面試精講
這篇文章主要為大家介紹了MySQL的Redo Log數(shù)據(jù)恢復核心機制面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10MySQL數(shù)據(jù)的讀寫分離之maxscale的使用方式
這篇文章主要介紹了MySQL數(shù)據(jù)的讀寫分離之maxscale的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫權限的方法示例
這篇文章主要介紹了mysql創(chuàng)建本地用戶及賦予數(shù)據(jù)庫權限的相關資料,文中的介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04MySQL提取Json內(nèi)部字段轉儲為數(shù)字
本文主要介紹了MySQL提取Json內(nèi)部字段轉儲為數(shù)字,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2021-07-07