按时间分组忽略日期部分

时间:2014-06-18 01:49:06

标签: mysql mysqli

我的表有一个名为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;

这会有效还是有更好的方法来实现这一目标。

由于

1 个答案:

答案 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;