每隔5分钟从mysql数据库使用mysql查询数据

时间:2018-03-23 07:09:17

标签: mysql

我正在使用mysql数据库。我每天都有每秒钟的数据。所以我需要每5分钟获取一次数据。但实际上我通过使用此查询在所选日期和时间之间从数据库获取每5分钟数据

select * from tablename where DateTime between '23-01-2018 00:00:00' and '23-01-2018 23:59:59' and MINUTE(DateTime) % "+min+" = 0 order by DateTime"

但问题是我以这种方式回溯数据

 22-03-2018 11:05:01, 
 22-03-2018 11:05:02, 
 22-03-2018 11:05:03,
 22-03-2018 11:05:04, 
 22-03-2018 11:05:05, 
 22-03-2018 11:05:06,
 22-03-2018 11:05:07, 
 22-03-2018 11:05:08, 
 22-03-2018 11:05:09

以上日期时间是第5分钟数据,但是每秒数据也是第5分钟。

我想要第5分钟只有1条记录。

我尝试使用Group by但它并没有为我工作。请任何人帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您每5分钟只需要一条记录,则应使用聚合函数(例如:min())并每5分钟分组一次

select min(DateTime) as DateTime
from tablename 
where DateTime between '23-01-2018 00:00:00' and '23-01-2018 23:59:59' 
GROUP BY 
UNIX_TIMESTAMP(DateTime) DIV 300 
order By DateTime