CommencerCommencez gratuitement

Explorer les fenêtres (window frames)

En plus des clauses PARTITION BY et ORDER BY, les fonctions de fenêtre peuvent inclure des tranches (frames) qui indiquent au moteur de base de données ce qui est inclus dans la fenêtre.

Nous allons examiner quatre tranches différentes pour comprendre en quoi les résultats varient. Pour chaque exemple, nous souhaitons compléter la fenêtre pour la requête suivante :

SELECT
    ir.IncidentDate,
    ir.IncidentTypeID,
    SUM(ir.NumberOfIncidents) OVER (
        PARTITION BY ir.IncidentTypeID
        ORDER BY ir.IncidentDate
        << WINDOW FRAME >>
    ) AS NumberOfIncidents
FROM dbo.IncidentRollup ir;    

Nous indiquerons ROWS ou RANGE selon que nous voulons inclure des lignes individuelles ou une plage de valeurs. Nous préciserons la clause « preceding », qui indique combien de lignes (ou quelle plage de valeurs) nous voulons avant la ligne courante. Nous préciserons aussi la clause « following », qui indique ce que nous voulons de la ligne courante vers l’avenir.

Cet exercice fait partie du cours

<cours>Analyse de séries temporelles dans SQL Server</cours>
Voir le cours

Exercice interactif pratique

Transformez la théorie en action avec l’un de nos exercices interactifs

Commencer l’exercice