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 l'attestation finale.
8 000 XOF / 12,20 € / 13,29 $
Débloquez les 78 leçons restantes de ce module
Pour vous communiquer où envoyer le paiement.
Moyen de paiement souhaité
Nous vous contactons pour le paiement — activé dès réception.