【发布时间】:2020-05-05 18:28:28
【问题描述】:
我有一个事件的持续时间数据(例如,在餐厅吃饭),我想知道在任何给定小时内发生了多少事件。数据如下所示:
Event | Start Time | End Time
-----------------------------------------
1 | 12:03 | 14:20
2 | 12:30 | 12:50
3 | 13:05 | 14:45
4 | 14:01 | 14:49
我还可以使用“持续时间”来替代“结束时间”。我正在寻找的结果是这样的:
Hour | Count
-----------------------
12 | 2
13 | 2
14 | 3
在第 12 小时,发生了两个事件(1 和 2),第 13 小时也发生了两个事件(1 和 3),第 14 小时发生了三个事件(1、3 和 4)。
我可以通过循环以编程方式执行此操作。我可以在 SQL 中计算事件开始(或结束)的时间。但是我真的很想缩小差距并在 SQL 中做到这一点,但我想不出办法。
【问题讨论】:
标签: mysql sql date datetime mariadb