-4
請接受我對缺少嘗試代碼的道歉。MySQL查詢日期範圍 - 查找常見期間
我無法理解這一點 - 甚至不知道是否可行!
我有一張桌子上裝滿了'日期插槽',這些可以由個人預訂。
的時隙表看起來像這樣:
ID | Price | Available_from | Available_ to
------------------------------------
1 | 20.00 | 2017-10-01 | 2018-01-01
2 | 20.00 | 2017-11-01 | 2017-12-07
3 | 20.00 | 2017-10-31 | 2018-01-31
4 | 20.00 | 2017-10-22 | 2017-11-21
------------------------------------
在這些行中,有一個共同的時間範圍,其中所有四個結果是可用的,2017年11月1日> 2017年11月21日
我想查詢我的數據庫,看看是否1)每個結果都有一個共同的範圍,2)如果有,獲取日期範圍。
絕望的幫助!
謝謝
那麼,如果你只是看看你自己的示例數據,它應該很快就會變得明顯,期望的結果包括最大的Available_from日期和最小的Available_日期。 (至於那些,去研究「mysql groupwise maximum」爲基本思想)。當然,如果現有的時間間隔可能存在「漏洞」,那麼它就不那麼簡單了,但是你的例子並不包含這樣的一個案例。所以現在你的下一步就是思考這種情況下的「邊緣情況」是什麼,以及他們可能需要什麼特定的處理。 – CBroe
看看http://salman-w.blogspot.ca/2012/06/sql-query-overlapping-date-ranges.html。同時研究用於sql日期範圍交集的StackOverflow,你會發現一些詳細的答案。例如https://stackoverflow.com/questions/4490553/detect-overlapping-date-ranges-from-the-same-table – Nic3500
謝謝@CBroe,已經這樣做了,並加入了一些理智 - 是的,它似乎很遠簡單!謝謝,我現在就來探討一下。 – user3061608