НачатьНачать бесплатно

Все агрегации с помощью 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;
Редактировать и запускать код