Leçon 4 / 9 — Chapitre 5: FIRST_VALUE, LAST_VALUE, NTH_VALUE et fenêtres nommées
Corriger LAST_VALUE() avec un cadre explicite
La correction du piège précédent est simple : étendre explicitement la borne de fin du cadre jusqu'à UNBOUNDED FOLLOWING, pour que toute la partition soit visible depuis n'importe quelle ligne.
SELECT joueur, manche, score,
LAST_VALUE(score) OVER (
PARTITION BY joueur ORDER BY manche
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
) AS dernier_score_corrige
FROM scores_manche;
Avec ce cadre corrigé, dernier_score_corrige vaut 9 sur les trois lignes de Boris (sa manche 1, 2 et 3 affichent toutes 9, le véritable dernier score), et 14 sur les trois lignes de Nadia.
À retenir :
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWINGrend visible toute la partition depuis chaque ligne, quelle que soit sa position — c'est la correction standard du piège LAST_VALUE.- Cette règle est à retenir par cœur : toute utilisation de LAST_VALUE (ou de NTH_VALUE, leçon suivante) doit systématiquement préciser ce cadre explicite, sous peine d'obtenir la ligne courante par erreur.
À vous de jouer : avec ce cadre corrigé, quelle est la valeur de dernier_score_corrige pour la manche 1 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.