我有一张看起来像这样的桌子
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 ))
来自 http://forums.mysql.com/read.php?10,202789,202807