Aufeinanderfolgende Datumsbereiche mit SQL erkennen
Einführung
Beim Vorbereiten von Daten für Kalenderanwendungen Oft ist es erforderlich, aufeinanderfolgende Datumsbereiche aus einer Datumsfolge zu extrahieren. Diese Aufgabe kann eine Herausforderung sein, insbesondere wenn die Datumsangaben nicht gleichmäßig verteilt sind.
Lösung mit SQL
Um dieses Problem mit SQL zu lösen, können wir den folgenden Ansatz verwenden:
SQL-Abfrage
Die folgende SQL-Abfrage implementiert den oben genannten Ansatz:
WITH t AS ( SELECT InfoDate d,ROW_NUMBER() OVER(ORDER BY InfoDate) i FROM table_name GROUP BY InfoDate ) SELECT MIN(d),MAX(d) FROM t GROUP BY DATEDIFF(day,i,d)
Ergebnis
Die Abfrage erzeugt Folgendes Ausgabe:
StartDate | EndDate |
---|---|
2013-12-04 | 2013-12-06 |
2013-12-09 | 2013-12-10 |
2014-01-01 | 2014-01-03 |
2014-01-06 | 2014-01-07 |
2014-01-29 | 2014-01-31 |
2014-02-03 | 2014-02-04 |
Diese Ausgabe liefert die Start- und Enddaten aller aufeinanderfolgenden Datumsbereiche in den Originaldaten.
Das obige ist der detaillierte Inhalt vonWie kann SQL aufeinanderfolgende Datumsbereiche identifizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!