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/ofLAG()zoals nodig
Deze oefening maakt deel uit van de cursus
SQL Server voor gevorderden
Oefeninstructies
- Schrijf een T-SQL-query die voor elk territorium:
- De waarden in
OrderDateéén rij naar beneden verschuift. Noem deze kolomPreviousOrder. - De waarden in
OrderDateéén rij naar boven verschuift. Noem deze kolomNextOrder. Je moet PARTITION BY gebruiken op het territorium
- De waarden in
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