Aan de slagGa gratis aan de slag

Vorige en volgende waarden

Wat als je de waarden in een kolom één rij naar boven of beneden wilt verschuiven? Je kunt exact dezelfde stappen gebruiken als in de vorige oefening, maar nu met twee nieuwe functies: LEAD() voor de volgende waarde en LAG() voor de vorige waarde. Volg dus deze stappen:

  • Maak eerst partities
  • Sorteer daarna op een bepaalde kolom
  • Gebruik tot slot de functies LEAD() en/of LAG() zoals nodig

Deze oefening maakt deel uit van de cursus

SQL Server voor gevorderden

Cursus bekijken

Oefeninstructies

  • Schrijf een T-SQL-query die voor elk territorium:
    • De waarden in OrderDate één rij naar beneden verschuift. Noem deze kolom PreviousOrder.
    • De waarden in OrderDate één rij naar boven verschuift. Noem deze kolom NextOrder. Je moet PARTITION BY gebruiken op het territorium

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 bewerken en uitvoeren