我正在使用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但它并没有为我工作。请任何人帮助我。
提前致谢。
答案 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