CommencezCommencez gratuitement

Afficher toutes les agrégations avec CUBE

L'opérateur CUBE produit une agrégation croisée de toutes les combinaisons, ce qui peut générer un très grand nombre de lignes. Cet opérateur est particulièrement efficace avec des données non hiérarchiques, lorsque vous vous intéressez autant aux agrégations indépendantes qu'aux agrégations combinées.

Dans ce scénario, nous voulons trouver le nombre total d'incidents de sécurité dans la table IncidentRollup, sans suivre une hiérarchie précise. Nous allons plutôt nous concentrer sur l'agrégation de plusieurs attributs non liés.

Cette activité fait partie du cours

Analyse de séries chronologiques dans SQL Server

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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;
Modifier et exécuter le code