Začněte nyníZačněte zdarma

Průběžné součty pomocí SUM()

Jedním z nejsilnějších využití okenních funkcí je výpočet průběžných součtů: tedy průběžného přehledu určité hodnoty v daném časovém úseku. V tomto cvičení použijeme okenní funkci k výpočtu počtu incidentů pro každé datum a typ incidentu v červenci 2019, a zároveň průběžného součtu celkového počtu incidentů podle typu. Okenní funkce nám umožní vyřešit tento problém jediným dotazem.

Toto cvičení je součástí kurzu

Time Series Analysis in SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Doplň správnou okenní funkci.
  • Doplň klauzuli PARTITION BY v okenní funkci a rozděl data podle ID typu incidentu.
  • Doplň klauzuli ORDER BY v okenní funkci a seřaď data podle data incidentu (ve výchozím, vzestupném pořadí).

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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;
Upravit a spustit kód