Valeurs précédente et suivante
Et si vous vouliez décaler les valeurs d'une colonne d'une ligne vers le haut ou vers le bas? Vous pouvez reprendre exactement les mêmes étapes que dans l'exercice précédent, mais avec deux nouvelles fonctions : LEAD() pour la valeur suivante et LAG() pour la valeur précédente. Procédez ainsi :
- D'abord, créez des partitions
- Ensuite, ordonnez selon une certaine colonne
- Enfin, utilisez les fonctions
LEAD()et/ouLAG()selon votre besoin
Cette activité fait partie du cours
SQL Server intermédiaire
Instructions de l’exercice
- Écrivez une requête T‑SQL qui, pour chaque territoire :
- Décale les valeurs de
OrderDated'une ligne vers le bas. Nommez cette colonnePreviousOrder. - Décale les valeurs de
OrderDated'une ligne vers le haut. Nommez cette colonneNextOrder. Vous devrez utiliser PARTITION BY sur le territoire
- Décale les valeurs de
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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