Sumy narastające z funkcją SUM()
Jednym z potężniejszych zastosowań funkcji okna jest obliczanie sum narastających – bieżącego zestawienia wartości w określonym przedziale czasu. Twoim zadaniem jest użycie funkcji okna, aby sprawdzić, ile zdarzeń miało miejsce w każdym dniu i dla każdego typu zdarzenia w lipcu 2019 roku, a także obliczyć narastającą łączną liczbę zdarzeń według ich typu. Funkcja okna pozwoli rozwiązać ten problem w jednym zapytaniu.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Instrukcje do ćwiczenia
- Uzupełnij właściwą funkcję okna.
- Uzupełnij klauzulę
PARTITION BYw funkcji okna, partycjonując według identyfikatora typu zdarzenia. - Uzupełnij klauzulę
ORDER BYw funkcji okna, sortując według daty zdarzenia (domyślnie rosnąco).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
SELECT
ir.IncidentDate,
ir.IncidentTypeID,
ir.NumberOfIncidents,
-- Get the total number of incidents
___(ir.NumberOfIncidents) OVER (
-- Do this for each incident type ID
PARTITION BY ir.___
-- Sort by the incident date
ORDER BY ir.___
) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
INNER JOIN dbo.Calendar c
ON ir.IncidentDate = c.Date
WHERE
c.CalendarYear = 2019
AND c.CalendarMonth = 7
AND ir.IncidentTypeID IN (1, 2)
ORDER BY
ir.IncidentTypeID,
ir.IncidentDate;