Aan de slagBegin gratis

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

Bekijk cursus

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

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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