PaliSkill
SQL — Fonctions de fenêtrage

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