← SQL — Fonctions de fenêtrage
Leçon 8 / 9 — Chapitre 5: FIRST_VALUE, LAST_VALUE, NTH_VALUE et fenêtres nommées
Une fenêtre nommée avec un cadre explicite partagé
Une clause WINDOW peut inclure un cadre explicite (comme celui qui corrige LAST_VALUE), partagé par toutes les fonctions qui la référencent.
SELECT joueur, manche, score,
LAST_VALUE(score) OVER w AS dernier_score,
NTH_VALUE(score, 2) OVER w AS deuxieme_score
FROM scores_manche
WINDOW w AS (
PARTITION BY joueur ORDER BY manche
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
);
Les deux fonctions partagent ici le même cadre corrigé (toute la partition visible depuis chaque ligne) : dernier_score vaut 9 pour Boris sur ses 3 lignes, deuxieme_score vaut 12.
À retenir :
- Une fenêtre nommée peut inclure un cadre explicite (ROWS BETWEEN ...), pas seulement PARTITION BY/ORDER BY — utile dès que plusieurs fonctions sensibles au cadre (LAST_VALUE, NTH_VALUE) doivent partager exactement la même définition.
- Cela réduit aussi le risque d'erreur : écrire le cadre une seule fois évite d'oublier de le répéter identique sur une deuxième fonction.
À vous de jouer : dans cette requête, quelle est la valeur de dernier_score pour les 3 lignes de Nadia ?
🔒
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