Utforska fönsterramar
Utöver PARTITION BY- och ORDER BY-satserna kan fönsterfunktioner innehålla ramar som talar om för databasmotorn vad som ska ingå i fönstret.
Här tittar vi på fyra olika ramar för att förstå hur resultaten skiljer sig åt. I varje exempel vill vi fylla i fönsterramen för följande fråga:
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;
Vi anger ROWS eller RANGE beroende på om vi vill inkludera enskilda rader eller ett intervall av värden. Vi anger "preceding"-satsen, som talar om hur många rader (eller vilket intervall av värden) vi vill ha före den aktuella raden. Vi anger också "following"-satsen, som talar om vad vi vill ha från den aktuella raden och framåt.
Den här övningen är en del av kursen
Tidsserieanalys i SQL Server
Interaktiv övning med praktiskt arbete
Gör teori till handling med en av våra interaktiva övningar
Starta övningen