我有一张看起来像这样的 table

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

关于sql - Mysql DateTime组15分钟,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4289345/

10-11 01:15