在多个小时内逐分钟时间范围内获取 mySQL 行
我可以尝试通过PHP来做到这一点,但我认为它可以简单地在mySQL中完成。我在mySQL中有一行,其日期时间超过几个小时。我想返回这多个小时内每分钟间隔的计数。
GROUP BY MINUTE(date)
给我 60 行,但它没有给我 01:00:00 - 01:01:00 的计数,这与 02:00:00 和 02:00:01 不同。
如何做到这一点?
我可以尝试通过PHP来做到这一点,但我认为它可以简单地在mySQL中完成。我在mySQL中有一行,其日期时间超过几个小时。我想返回这多个小时内每分钟间隔的计数。
GROUP BY MINUTE(date)
给我 60 行,但它没有给我 01:00:00 - 01:01:00 的计数,这与 02:00:00 和 02:00:01 不同。
如何做到这一点?
MySQL分钟函数实际上是采用分钟数并按其分组。尝试按小时和分钟分组:
GROUP BY HOUR(date), MINUTE(date)
老问题的新答案!
要按分钟分组,您只需:
SELECT (unix_timestamp(`date`) - unix_timestamp(`date`)%60) groupTime, count(*)
FROM yourTable
# WHERE clause
GROUP BY groupTime
使用此解决方案,您永远不会将一分钟的日期时间与另一小时,一天,...
另外,这是一个令人振奋的解决方案,因为通过将“60”更改为另一个数字,您可以按几分钟(120),按天(86400)分组,...