Valeurs précédente et suivante
Que faire si vous souhaitez décaler les valeurs d'une colonne d'une ligne vers le haut ou vers le bas ? Vous pouvez utiliser 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. Vous suivez donc les étapes suivantes :
- Créez d'abord des partitions
- Ensuite, ordonnez par une certaine colonne
- Enfin, utilisez les fonctions
LEAD()et/ouLAG()en fonction de vos besoins.
Cet exercice fait partie du cours
Intermédiaire SQL Serveur
Instructions
Rédigez une requête T-SQL pour chaque territoire :
Décale les valeurs de
OrderDated'une ligne vers le bas. Appelez cette colonnePreviousOrder.Décale les valeurs de
OrderDated'une ligne vers le haut. Appelez cette colonneNextOrder.
Vous aurez besoin de PARTITION BY le territoire
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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