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
Praktische interactieve oefening
Zet theorie om in actie met een van onze interactieve oefeningen.
Begin met trainen