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