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
OrderDate
d'une ligne vers le bas. Appelez cette colonnePreviousOrder
.Décale les valeurs de
OrderDate
d'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