1
我有一個數據庫表中的以下數據,並希望根據開始和結束時間查找併發事務。找到併發與oracle選擇
Patient Start Time End Time
John 08:31A 10:49A
Jim 10:14A 10:30A
Jerry 10:15A 10:28A
Alice 10:18A 12:29P
Bobby 10:32A 10:49A
Sally 10:46A 10:55A
Jane 10:52A 11:29A
Jules 10:54A 11:40A
Adam 10:58A 11:25A
Ben 11:00A 11:20A
Ann 11:31A 11:56A
Chris 11:49A 11:57A
Nick 12:00P 12:21P
Dave 12:00P 12:35P
Steve 12:23P 12:29P
如果我想找到任何重疊的時間與特定的輸入,我會怎麼寫它?例如,我想要找出與10:58A-11:25A重疊的時間。這需要找到潛在的時間並行。我正在查找最大併發重疊次數。在我的例子爲10:58A-11:25A,我希望看到以下(計數將在5):
Patient Start Time End Time
Alice 10:18A 12:29P
Jane 10:52A 11:29A
Jules 10:54A 11:40A
Adam 10:58A 11:25A
Ben 11:00A 11:20A
在我的第二個例子中的一些併發時代的重疊與我要找時間,但是在另一個範圍開始之前它們已經結束。所以,說我在尋找10:46A-10:55A。我希望計數爲4.在這個例子中08:31A-10:49A因爲它在10:52A-11:29A啓動之前結束而被丟棄。與10:32A-10:49A一樣,在10:52A-11:29A開始之前已經結束。所以,與10:46A-10:55A範圍最相同的是4,即使總共有6(2下降)。
Patient Start Time End Time
Alice 10:18A 12:29P
Sally 10:46A 10:55A
Jane 10:52A 11:29A
Jules 10:54A 11:40A
這可以用sql語句來完成嗎?
你要4條記錄還是4條記錄? –