group by 按某一時間段分組統計並查詢(推薦)
阿新 • • 發佈:2020-11-24
工作中要求對日誌表中的時間戳欄位進行分組。分組的條件是,相隔 1分鐘間隔的被分到一組。
資料庫表是這樣的
SELECT COUNT(log_id) AS u_count FROM logdb.`log` GROUP BY TIMESTAMP-TIMESTAMP%(1*60)
其中timestamp 是資料庫時間欄位。 括號中的1 是間隔時間,1分鐘。 如果是1小時,就寫60,如果是30s 就寫0.5
結果
那被分組的id 如何解決呢?分完組我們還需要 哪些記錄被分到哪些組了。
我們可以這麼做。
SELECT COUNT(log_id) AS u_count,GROUP_CONCAT(DISTINCT log_id ORDER BY log_id DESC ) AS ids FROM logdb.`log` GROUP BY TIMESTAMP-TIMESTAMP%(0.5*60)
GROUP_CONCAT(DISTINCT log_id ORDER BY log_id DESC )
這裡預設使用,分割 將 log_id穿成字串,並且這些id是不重複,且排序遞降。
到此這篇關於group by 按某一時間段分組統計並查詢的文章就介紹到這了,更多相關group by分組統計內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!