【发布时间】:2021-11-28 14:20:11
【问题描述】:
我有一个预订表,其中我有每个预订的开始和结束日期。
id | start | end
----------------
1 2 5
2 4 8
3 3 4
4 10 15
5 9 16
我正在尝试计算一天内重叠的最大预订量。到目前为止,我有一个预订清单以及与它重叠的其他预订:
SELECT r1.id, r2.id
FROM Reservations r1
JOIN Reservations r2
WHERE r2.start <= r1.end AND r2.end >= r1.start AND r1.id != r2.id
返回
r1.id | r2.id
1 2
1 3
2 1
2 3
3 1
3 2
4 5
5 4
现在我现在哪些预订重叠,但我不知道如何计算每天的预订数量,有多少预订。有什么提示我应该从这里继续吗?
【问题讨论】:
-
您能否提供示例的输出应该是什么样的?
-
这个例子的输出应该是 3