Zacznij terazZacznij za darmo

Wszystkie agregacje z CUBE

Operator CUBE generuje agregacje dla wszystkich możliwych kombinacji kolumn, co może skutkować dużą liczbą wierszy. Najlepiej sprawdza się przy danych nieposiadających hierarchii, gdy interesują cię zarówno agregacje dla poszczególnych atrybutów, jak i ich kombinacje.

W tym ćwiczeniu chcemy znaleźć łączną liczbę incydentów bezpieczeństwa w tabeli IncidentRollup, ale bez zachowania ścisłej hierarchii. Skupimy się na agregowaniu kilku niezależnych atrybutów.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w SQL Server

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

SELECT
	-- Use the ORDER BY clause as a guide for these columns
    -- Don't forget that comma after the third column if you
    -- copy from the ORDER BY clause!
	ir.___,
	c.___,
	c.___,
	SUM(ir.NumberOfIncidents) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	ir.IncidentTypeID IN (3, 4)
GROUP BY
	-- GROUP BY should include all non-aggregated columns
	ir.___,
	c.___,
	c.___
-- Fill in your grouping operator
WITH ___
ORDER BY
	ir.IncidentTypeID,
	c.CalendarQuarterName,
	c.WeekOfMonth;
Edytuj i uruchom kod