Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij właściwą funkcję okna.
  • Uzupełnij klauzulę PARTITION BY w funkcji okna, partycjonując według identyfikatora typu zdarzenia.
  • Uzupełnij klauzulę ORDER BY w 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;
Edytuj i uruchom kod