我如何使用HOUR功能或类似功能在MySQL中显示结果,可以给我6:30-7:30而不是6:00-7:00?
我使用datetime和另一列作为int数据类型。
此处的示例数据:
+----+--------------------------------------+---------------------+---------+-------+----------+-------------+
| id | data_uuid | date_time | tool_id | param | position | data_count |
+----+--------------------------------------+---------------------+---------+-------+----------+-------------+
| 1 | 6f52b0b0-58c2-11e8-824e-af23caf3a508 | 2018-05-16 12:34:34 | DDS12 | L0 | LOADER | 1 |
| 2 | 70243180-58c2-11e8-824e-af23caf3a508 | 2018-05-16 12:34:36 | DDS12 | U1 | UNLOADER | 1 |
| 3 | 70b7bef0-58c2-11e8-824e-af23caf3a508 | 2018-05-16 12:34:37 | DDS12 | L0 | LOADER | 1 |
| 4 | 718b89b0-58c2-11e8-824e-af23caf3a508 | 2018-05-16 12:34:38 | DDS12 | U1 | UNLOADER | 1 |
| 5 | 7223f920-58c2-11e8-824e-af23caf3a508 | 2018-05-16 12:34:39 | DDS12 | L0 | LOADER | 1 |
| 6 | 72feefd0-58c2-11e8-824e-af23caf3a508 | 2018-05-16 12:34:41 | DDS12 | U1 | UNLOADER | 1 |
我想看到的是这样的:
| Hourly | Qty |
| 6:30 - 7:30 | 245 |
| 7:30 - 8:30 | 134 |
这是我的疑问(我被困):
SELECT HOUR(date_time), COUNT(data_count) AS Qty FROM table GROUP BY HOUR(date_time);
我正在考虑使用>
和<
,但我想还有更有效的方法。我只是不知道。
谢谢!
答案 0 :(得分:2)
你可以从表中的时间减去半小时:
SELECT HOUR(date_time - INTERVAL 30 MINUTE) AS thehour, COUNT(data_count) AS Qty FROM table GROUP BY thehour;
顺便说一下,您可能需要SUM(data_count)
,而不是COUNT
。