目前有一個需求查詢產品的實時數據,就是當天的每間隔5分鐘的用戶數,最後研究出的方案:
SELECT count(roleId),sec_to_time(time_to_sec(`time`)- time_to_sec(`time`)%(5*20)) as intervals from `login-2020-04-02`
where appId = 1000057
group by intervals
解決過程中上網找了以下幾種方法:
1、查詢每分鐘的記錄
SELECT Table,
DATE_FORMAT( 時間字段, '%H:%i' ) AS time
FROM
表名稱
GROUP BY
time
2、篩選直接間隔時間
使用把(15*60)中的15改成你要間隔的時間,這裏是查詢間隔15分鐘的數據
SELECT sec_to_time(time_to_sec(時間字段)- time_to_sec(時間字段)%(15*60)) as intervals from tablename
group by intervals
3、篩選指定間隔時間
SELECT FLOOR(UNIX_TIMESTAMP(時間字段)/(15 * 60)) AS timekey
FROM table
GROUP BY timekey;