我有一张看起来像这样的桌子
CREATE TABLE `time_table` (
`id` INT(10) NOT NULL AUTO_INCREMENT,`creationDate` DATETIME NOT NULL,PRIMARY KEY (`id`)
)
我基本上将某些记录的创建时间存储在表中.我知道如果我想要计算在15分钟间隔内创建的记录,我会使用这样的东西
SELECT FLOOR(UNIX_TIMESTAMP(creationDate)/900) AS t,COUNT(*) FROM time_table
GROUP BY t
这给了我这样的东西
t COUNT(*)
1434187 1
1434188 3
1434189 2
1434190 2
我如何理解第一列?如果我想让它给我看一些像
t COUNT(*)
2:00pm - 2:15pm 1
2:15pm - 2:30pm 3
2:30pm - 2:45pm 2
2:45pm - 3:00pm 2
据我所知,通过一些操作,我可以在下午2:15得到1434187.即使这可能是一个好的开始….然后用一些逻辑我可以显示整个时期.谢谢!
最佳答案
一种方法是使用>和<为了获得范围内的所有内容,但您可能会发现这更简单:
SELECT ...
GROUP BY ( 4 * HOUR( thistime ) + FLOOR( MINUTE( thistime ) / 15 ))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。