查询最大并发事件数

5 mysql sql postgresql

我有一个简单的事件表:

event_id | start_time | end_time
Run Code Online (Sandbox Code Playgroud)

如何查询最大同时事件数?

Spa*_*arr 0

我会分多次执行此操作,这是一个非常慢的解决方案但可能没有一种非常快速的方法来做到这一点。基于丹尼尔·保罗的答案的解决方案会快得多。

按开始时间对活动进行排序。循环遍历事件并找到没有事件的间隙,在这些间隙之间对事件进行分组。循环遍历每个组中的每个时间(以记录时间的任何分辨率)并查询当时正在进行的事件。根据编程语言的速度与数据库查询的速度,您可以查看重叠事件并向前跳到其中一个重叠事件的第一个 end_time。