Mysql如何按照指定间隔时间查询数据

目前有一个需求查询产品的实时数据,就是当天的每间隔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;

 

你可能感兴趣的:(mysql)