Kom igångKom igång gratis

Visa alla aggregeringar med CUBE

Operatorn CUBE utför korsaggregering av alla möjliga kombinationer och kan generera ett stort antal rader. Den passar bäst för icke-hierarkisk data där du är intresserad av både oberoende aggregeringar och kombinerade aggregeringar.

I det här scenariot vill vi beräkna det totala antalet säkerhetsincidenter i tabellen IncidentRollup, men utan att följa en strikt hierarki. Fokus ligger i stället på att aggregera flera orelaterade attribut.

Den här övningen är en del av kursen

Tidsserieanalys i SQL Server

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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;
Redigera och kör kod