使用 SQL 偵測連續日期範圍
要確定日期欄位中的連續日期範圍,可以使用 SQL 技術。考慮這樣一個場景:日曆物件需要開始和結束日期訊息,並且給定列包含一系列日期,其中一些日期相鄰,有些則不相鄰。為了有效地識別這些連續範圍,需要一個強大的 SQL 解決方案。
一種方法是在按日期值和行號之間的差異進行分組時利用連續序列的不變屬性。然後,分別檢索每組中的開始日期和結束日期作為最小值和最大值。
以下 SQL 查詢說明了這種方法:
WITH t AS ( SELECT InfoDate d,ROW_NUMBER() OVER(ORDER BY InfoDate) i FROM @d GROUP BY InfoDate ) SELECT MIN(d),MAX(d) FROM t GROUP BY DATEDIFF(day,i,d)
此查詢有效地將日期分組它們與對應行號的差異,導致每個連續序列都有不同的群組。然後選擇每組中的最小和最大日期來表示開始和結束範圍。
利用此方法,可以獲得所需的輸出,提供按之間的差異排序的連續日期範圍的完整列表他們的開始和結束日期。
以上是SQL 如何識別資料集中的連續日期範圍?的詳細內容。更多資訊請關注PHP中文網其他相關文章!