CommencerCommencer gratuitement

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/ou LAG() en fonction de vos besoins.

Cet exercice fait partie du cours

Intermédiaire SQL Serveur

Afficher le cours

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 colonne PreviousOrder.

    • Décale les valeurs de OrderDate d'une ligne vers le haut. Appelez cette colonne NextOrder.

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
Modifier et exécuter le code