bee*_*onk 26
MySQL分钟函数实际上是按分钟数和分组.尝试按小时分组:
GROUP BY HOUR(date), MINUTE(date)
Run Code Online (Sandbox Code Playgroud)
did*_*r2l 18
旧问题的新答案!
要按分钟分组,您可以简单地:
SELECT (unix_timestamp(`date`) - unix_timestamp(`date`)%60) groupTime, count(*)
FROM yourTable
# WHERE clause
GROUP BY groupTime
Run Code Online (Sandbox Code Playgroud)
使用此解决方案,您永远不会将一分钟的日期时间与另一小时,日期的同一分钟的日期时间混合在一起......
此外,这是一个演变的解决方案,因为通过将"60"更改为另一个数字,您可以分组几分钟(120),一天(86400),......
irc*_*ell 15
只需使用DATE_FORMAT
:
GROUP BY DATE_FORMAT(`date`, '%H:%i')
Run Code Online (Sandbox Code Playgroud)
由于MySql将日期/时间存储为整数,因此将数字除以100将得到分钟:
GROUP BY FLOOR(`data` / 100)
Run Code Online (Sandbox Code Playgroud)
按数字分组比按文本分组更有效。
如果要按分钟分组而不考虑日期:
GROUP BY FLOOR(`data` / 100) % 10000
Run Code Online (Sandbox Code Playgroud)