ÎncepețiÎncepe gratuit

Vizualizează toate agregările cu CUBE

Operatorul CUBE realizează o agregare încrucișată a tuturor combinațiilor posibile și poate genera un număr foarte mare de rânduri. Acest operator funcționează cel mai bine cu date non-ierarhice, atunci când ești interesat atât de agregările independente, cât și de cele combinate.

În acest scenariu, vrem să aflăm numărul total de incidente de securitate din tabela IncidentRollup, fără să urmăm o ierarhie propriu-zisă. În schimb, ne vom concentra pe agregarea mai multor atribute fără legătură între ele.

Acest exercițiu face parte din cursul

Analiza seriilor de timp în SQL Server

Vezi cursul

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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;
Editează și rulează codul