Cours BDA (UCP/M1) : Données en flux et requêtes continues 9
Syntaxe de la clause WINDOW
•Partition by : découpage de la table en partitions
– Similaire à group by, mais pas dans le même but
•group by un résultat par groupe, partition by un résultat par ligne!
– Rôle du partition by: définir des "types" de lignes
• une fenêtre contient des lignes d'une seule partition (d'un seul type)
– Absence partition by une seule partition (toute la table)
•Order by : ordonnancement des lignes dans la fenêtre
•Range/Row between: largeur de la fenêtre
–Range: largeur exprimée par un intervalle de valeurs de l'attribut
d'ordonnancement avant et après la ligne courante
Ex. range between interval '8' day preceding and interval '3' day following
range interval '6' day preceding
–Row: largeur exprimée par un nombre de lignes avant et après
Ex. rows between 5 preceding and 5 following
rows 7 preceding
Cours BDA (UCP/M1) : Données en flux et requêtes continues 10
Exemple
• Table Cotation(Csoc, Cdate, Cval)
– Une cotation en bourse par jour pour différentes sociétés
• Pour chaque société et chaque date, la moyenne glissante sur le
dernier mois de la cotation de cette société
select Csoc, Cdate, avg(Cval) over w
from Cotation
window was (
partition by Csoc
order by Cdate
range interval '1' month preceding
)