ПочатиПочніть безкоштовно

Переглянути всі агрегування за допомогою CUBE

Оператор CUBE виконує крос-агрегування для всіх комбінацій і може повертати дуже велику кількість рядків. Цей оператор найкраще працює з неієрархічними даними, коли вас цікавлять як незалежні агрегати, так і їхні поєднання.

У цій задачі ми хочемо знайти загальну кількість інцидентів безпеки в таблиці IncidentRollup, але не за суворою ієрархією. Натомість зосередимося на агрегуванні кількох незв'язаних атрибутів.

Ця вправа є частиною курсу

Аналіз часових рядів у SQL Server

Переглянути курс

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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;
Редагувати та запускати код