← SQL — Fonctions de fenêtrage
Leçon 6 / 9 — Chapitre 3: LAG et LEAD approfondis
Détecter la dernière ligne d'une partition avec LEAD IS NULL
Symétriquement à LAG sur la première ligne, LEAD(colonne) vaut NULL sur la dernière ligne d'une partition — une propriété exploitable pour isoler ces dernières lignes.
SELECT joueur, manche
FROM (
SELECT joueur, manche,
LEAD(manche) OVER (PARTITION BY joueur ORDER BY manche) AS manche_suivante
FROM scores_manche
) t
WHERE manche_suivante IS NULL;
Pour chaque joueur, seule sa dernière manche enregistrée n'a pas de manche suivante : manche_suivante y vaut NULL. Résultat : 2 lignes, la manche 3 de Nadia et la manche 3 de Boris.
À retenir :
LEAD(colonne) OVER (...) IS NULL, filtré via une sous-requête, isole la dernière ligne de chaque partition — la technique miroir de l'utilisation de LAG pour la première ligne.- Comme toujours, ce filtre passe par une sous-requête ou une CTE, puisque WHERE ne peut pas référencer directement une fonction de fenêtre.
À vous de jouer : combien de lignes cette requête renvoie-t-elle au total, sachant qu'il y a 2 joueurs distincts dans scores_manche ?
🔒
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 72 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès