目前有一个需求查询产品的实时数据,就是当天的每间隔5分钟的用户数,最后研究出的方案:
SELECT count(roleId),sec_to_time(time_to_sec(`time`)- time_to_sec(`time`)%(5*20)) as intervals from `login--04-02`where appId = 1000057group by intervals
解决过程中上网找了以下几种方法:
1、查询每分钟的记录
SELECT Table,DATE_FORMAT( 时间字段, '%H:%i' ) AS timeFROM表名称GROUP BYtime
2、筛选直接间隔时间
使用把(15*60)中的15改成你要间隔的时间,这里是查询间隔15分钟的数据
SELECT sec_to_time(time_to_sec(时间字段)- time_to_sec(时间字段)%(15*60)) as intervals from tablenamegroup by intervals
3、筛选指定间隔时间
SELECT FLOOR(UNIX_TIMESTAMP(时间字段)/(15 * 60)) AS timekeyFROM tableGROUP BY timekey;