我的表有一个名为score的列,另一个名为date_time
我试图找出每5分钟时间增量我有多少超过一定分数。我想完全忽略日期部分,只是基于时间。
这有点像在统计程序中,它们显示您的高峰时段,我想要的唯一区别是详细的5分钟时间段。
我在mysql上仍然相当新,谷歌似乎是我最好的伴侣。
到目前为止我发现的是:
SELECT id, score, date_time, COUNT(id)
FROM data
WHERE score >= 500
GROUP BY TIME(date_time) DIV 300;
这会有效还是有更好的方法来实现这一目标。
由于
答案 0 :(得分:1)
我不认为您的查询会起作用。你需要做更多的工作才能将时间四舍五入到5分钟。类似的东西:
SELECT SEC_TO_TIME(FLOOR(TIME_TO_SEC(time(date_time))/300)*300) as time5, COUNT(id)
FROM data
WHERE score >= 500
GROUP BY SEC_TO_TIME(FLOOR(TIME_TO_SEC(time(date_time))/300)*300)
ORDER BY time5;