Berechnet den Wert mit dem vorherigen Wert einer Zeile in T-SQL

8

Ich habe die folgende Tabelle und möchte den Wert von Column2 in jeder Zeile mit dem Wert derselben Spalte (Column2) aus der vorherigen Zeile in einer SQL-Datei berechnen, ohne den Cursor oder die While-Schleife zu verwenden.

%Vor%

Irgendwelche Gedanken?

TheITGuy 23.02.2011, 16:23
quelle

4 Antworten

5

Nehmen Sie mindestens SQL Server 2005 für das rekursive CTE an:

%Vor%     
Joe Stefanelli 23.02.2011 16:42
quelle
2

Ich habe das eben erwähnte Problem gelöst.

Das ist mein Code:

%Vor%

Das Ergebnis ist wie erwartet:

%Vor%     
Dok 17.06.2011 11:51
quelle
0

Hier ist ein Beispiel mit ROW_NUMBER (), wenn die IDs nicht unbedingt in der richtigen Reihenfolge sind:

%Vor%     
mellamokb 23.02.2011 16:53
quelle
-1

edit: Shoudld habe die Frage besser gelesen ...

Ein anderes Ziel wäre das:

%Vor%

Ich denke, dass ein normaler Join schneller ist als ein CTE, um zur vorherigen Zeile zu gelangen. Sie müssen allerdings selbst nachsehen.

Sieht mir leichter.

Viel Glück, GJ

    
gjvdkamp 23.02.2011 16:57
quelle

Tags und Links