CommencezCommencez gratuitement

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/ou LAG() selon votre besoin

Cette activité fait partie du cours

SQL Server intermédiaire

Voir le cours

Instructions de l’exercice

  • Écrivez une requête T‑SQL qui, pour chaque territoire :
    • Décale les valeurs de OrderDate d'une ligne vers le bas. Nommez cette colonne PreviousOrder.
    • Décale les valeurs de OrderDate d'une ligne vers le haut. Nommez cette colonne NextOrder. Vous devrez utiliser PARTITION BY sur le territoire

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