LoslegenKostenlos loslegen

Vorherige und nächste Werte

Was, wenn du die Werte in einer Spalte um eine Zeile nach oben oder unten verschieben willst? Du kannst genau die gleichen Schritte wie in der vorherigen Übung verwenden, aber mit zwei neuen Funktionen, LEAD(), für den nächsten Wert und LAG(), für den vorherigen Wert. Du folgst also diesen Schritten:

  • Erstelle zunächst Partitionen
  • Dann ordne nach einer bestimmten Spalte
  • Verwende schließlich die Funktionen LEAD() und/oder LAG() je nach deinem Bedarf

Diese Übung ist Teil des Kurses

Intermediate SQL Server

Kurs anzeigen

Anleitung zur Übung

  • Schreibe eine T-SQL Abfrage, die für jedes Gebiet gilt:

    • Verschiebt die Werte in OrderDate um eine Zeile nach unten. Rufe diese Spalte PreviousOrder auf.

    • Verschiebt die Werte in OrderDate um eine Zeile nach oben. Rufe diese Spalte NextOrder auf.

*Du musst das Gebiet PARTITION BY *

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

SELECT TerritoryName, OrderDate, 
       -- Specify the previous OrderDate in the window
       ___(OrderDate) 
       -- Over the window, partition by territory & order by order date
       ___(___ BY ___ ___ BY ___) AS PreviousOrder,
       -- Specify the next OrderDate in the window
       ___(OrderDate) 
       -- Create the partitions and arrange the rows
       ___ AS NextOrder
FROM Orders
Code bearbeiten und ausführen