一尘不染

Mysql DateTime组15分钟

mysql

我有一张看起来像这样的桌子

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。甚至那可能是一个好的开始。。。然后我可以用一些逻辑来说明整个时期。谢谢!


阅读 239

收藏
2020-05-17

共1个答案

一尘不染

一种方法是只使用><以使所有内容都在一个范围内,但是您可能会发现这更简单:

SELECT ...

GROUP BY ( 4 * HOUR( thistime ) + FLOOR( MINUTE( thistime ) / 15 ))

来自
http://forums.mysql.com/read.php?10,202789,202807

2020-05-17