Heim >Datenbank >MySQL-Tutorial >Wie lassen sich überlappende Datumsintervalle effizient zusammenführen?
Überlappende Datumsintervalle zusammenführen (verbesserte Lösung)
Überlappende Datumsintervalle zusammenführen ist eine häufige Aufgabe in der Datenverarbeitung. Obwohl die bereitgestellte Lösung einfach ist, ist sie möglicherweise nicht die effizienteste oder umfassendste. Hier ist eine verbesserte Lösung, die potenzielle Grenzfälle berücksichtigt:
-- Retrieve the overlapping ranges SELECT s1.StartDate, MIN(t1.EndDate) AS EndDate FROM @T s1 INNER JOIN @T t1 ON s1.StartDate = t2.StartDate AND t1.EndDate t1.StartDate AND s1.StartDate <p>Diese Abfrage berücksichtigt Fälle, in denen die Überlappungen über den ursprünglichen Bereich hinausgehen können. Die EXCEPT-Klausel filtert diese erweiterten Bereiche heraus, was zu einem genaueren und vollständigeren zusammengeführten Intervallsatz führt.</p><p><strong>Ausgabe:</strong></p><pre class="brush:php;toolbar:false">StartDate | EndDate 2010-01-01 | 2010-06-13 2010-06-15 | 2010-08-16 2010-11-01 | 2010-12-31
Das obige ist der detaillierte Inhalt vonWie lassen sich überlappende Datumsintervalle effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!