PaliSkill
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