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.
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)
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 EXISTENTAux 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 →