Badanie ramek okna
Oprócz klauzul PARTITION BY i ORDER BY funkcje okna mogą zawierać ramki, które informują silnik bazy danych, co należy uwzględnić w danym oknie.
Przyjrzymy się czterem różnym ramkom, aby zrozumieć, jak wpływają one na wyniki. W każdym przykładzie chcemy uzupełnić ramkę okna w poniższym zapytaniu:
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;
Wybierzemy ROWS lub RANGE w zależności od tego, czy chcemy uwzględniać poszczególne wiersze, czy zakres wartości. Określimy też klauzulę "preceding", która wskazuje, ile wierszy (lub jaki zakres wartości) chcemy uwzględnić przed bieżącym wierszem, oraz klauzulę "following", która określa, co chcemy uwzględnić od bieżącego wiersza wzwyż.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Interaktywne ćwiczenie praktyczne
Przekształć teorię w praktykę dzięki jednemu z naszych interaktywnych ćwiczeń
Rozpocznij ćwiczenie