Heim > Datenbank > MySQL-Tutorial > Wie vergleiche ich benachbarte Zeilen in SQL Server 2008 ohne LEAD und LAG?

Wie vergleiche ich benachbarte Zeilen in SQL Server 2008 ohne LEAD und LAG?

Susan Sarandon
Freigeben: 2024-12-29 13:34:18
Original
645 Leute haben es durchsucht

How to Compare Adjacent Rows in SQL Server 2008 Without LEAD and LAG?

Alternativen zu LEAD- und LAG-Funktionen in SQL Server 2008

Problem:

SQL Server 2008 unterstützt die LEAD- und LAG-Funktionen nicht. Sie müssen festlegen, wie die aktuelle Zeile mit dem Wert in der nächsten Zeile verglichen werden soll.

Lösung:

Eine Alternative besteht darin, einen Selbstjoin durchzuführen:

SELECT t.*
FROM table t JOIN
     table tnext
     ON t.id = tnext.id - 1 AND
        t.StatusId = 1 AND
        tnext.StatusId = 6 AND
        DATEDIFF(SECOND, t.MinStartTime, tnext.MinStartTime) < 60;
Nach dem Login kopieren

Diese Abfrage gibt Zeilen zurück, bei denen der Status der aktuellen Zeile 1 ist, der Status der nächsten Zeile 6 ist und der Zeitunterschied zwischen den beiden Zeilen beträgt weniger als 60 Sekunden.

Wenn Sie eine genaue Minutenübereinstimmung benötigen, können Sie die Abfrage ändern:

SELECT t.*
FROM table t JOIN
     table tnext
     ON t.id = tnext.id - 1 AND
        t.StatusId = 1 AND
        tnext.StatusId = 6 AND
        DATEDIFF(SECOND, t.MinStartTime, tnext.MinStartTime) < 60 AND
        DATEPART(MINUTE, t.MinStartTime) = DATEPART(MINUTE, tnext.MinStartTime);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie vergleiche ich benachbarte Zeilen in SQL Server 2008 ohne LEAD und LAG?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage