Aan de slagGa gratis aan de slag

Window frames onderzoeken

Naast de clausules PARTITION BY en ORDER BY kunnen windowfuncties frames bevatten die de database-engine vertellen wat we als relevant voor het venster meenemen.

Hier bekijken we vier verschillende frames om te begrijpen hoe de resultaten verschillen. Voor elk voorbeeld vullen we het window frame in voor de volgende query:

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;    

We geven ROWS of RANGE op, afhankelijk van of we individuele rijen of een bereik aan waarden willen meenemen. We geven de "preceding"-clausule op, die aangeeft hoeveel rijen (of welk bereik aan waarden) we willen meenemen vóór de huidige rij. We geven ook de "following"-clausule op, die aangeeft wat we willen meenemen vanaf de huidige rij vooruit.

Deze oefening maakt deel uit van de cursus

Tijdreeksanalyse in SQL Server

Cursus bekijken

Praktische interactieve oefening

Zet theorie om in actie met een van onze interactieve oefeningen.

Begin met trainen