PaliSkill
SQL — Fonctions de fenêtrage

Leçon 7 / 9 — Chapitre 5: FIRST_VALUE, LAST_VALUE, NTH_VALUE et fenêtres nommées

La clause WINDOW : nommer une fenêtre pour éviter les répétitions

Répéter PARTITION BY joueur ORDER BY manche dans chaque OVER (...) devient vite lourd. La clause WINDOW, placée après FROM, permet de nommer une définition de fenêtre et de la réutiliser avec OVER nom_fenetre.

SELECT joueur, manche, score,
  FIRST_VALUE(score) OVER w AS premier_score,
  LAG(score) OVER w AS score_precedent
FROM scores_manche
WINDOW w AS (PARTITION BY joueur ORDER BY manche);

Les deux fonctions de fenêtre utilisent ici exactement la même définition (w), déclarée une seule fois, plutôt que d'écrire deux fois OVER (PARTITION BY joueur ORDER BY manche).

À retenir :

  • WINDOW nom AS (...) déclare une définition de fenêtre réutilisable dans la même requête, via OVER nom.
  • Cette clause n'ajoute aucune fonctionnalité nouvelle : elle évite seulement de répéter une définition identique plusieurs fois, ce qui devient précieux dès que le cadre devient long (comme ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING).

À vous de jouer : dans cette requête, quelle est la valeur de score_precedent pour la manche 1 de Nadia (aucune manche avant elle) ?

🔒

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