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 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