Explorarea cadrelor de fereastră
Pe lângă clauzele PARTITION BY și ORDER BY, funcțiile de fereastră pot include cadre care îi indică motorului bazei de date ce date sunt relevante pentru fereastră.
În continuare, vom analiza patru cadre diferite pentru a înțelege cum diferă rezultatele. Pentru fiecare exemplu, dorim să completăm cadrul ferestrei în interogarea de mai jos:
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;
Vom specifica ROWS sau RANGE în funcție de dacă vrem să includem rânduri individuale sau un interval de valori. Vom specifica clauza "preceding", care indică câte rânduri (sau ce interval de valori) dorim înainte de rândul curent. De asemenea, vom specifica clauza "following", care indică ce dorim de la rândul curent înainte.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în SQL Server
Exercițiu interactiv practic
Transformă teoria în practică cu unul dintre exercițiile noastre interactive
Începe exercițiul