Exercice 32 / 60

LAG et LEAD

ConsigneSur la table ventes (colonnes date_vente, montant), affiche pour chaque vente le montant de la vente précédente et de la suivante, triées par date_vente. Nomme les colonnes vente_precedente et vente_suivante.

📖 Cours

lag() renvoie la valeur de la ligne précédente, lead() celle de la ligne suivante. Idéal pour comparer une ligne a ses voisines. Syntaxe : lag(colonne) over (order BY col)

LAG regarde la ligne précédente et LEAD la suivante : chaque ligne peut ainsi se comparer à ses deux voisines
LAG regarde la ligne précédente et LEAD la suivante : chaque ligne peut ainsi se comparer à ses deux voisines

Exemple (table commandes) :

SELECT date_commande, montant, LAG(montant) OVER (ORDER BY date_commande) AS commande_precedente, LEAD(montant) OVER (ORDER BY date_commande) AS commande_suivanteFROM commandes;-> chaque commande avec la précédente et la suivante, QUAND ELLES EXISTENT

Aux deux bords, il n'y a rien à regarder : lag vaut null sur la toute première ligne, lead sur la toute dernière. Un calcul d'évolution enchainé derrière rendra donc null sur ces deux lignes-là.

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →