Alle Aggregationen mit CUBE anzeigen
Der Operator CUBE liefert Kreuzaggregationen aller Kombinationen und kann eine sehr große Anzahl an Zeilen erzeugen. Dieser Operator eignet sich am besten für nicht-hierarchische Daten, bei denen dich sowohl unabhängige Aggregationen als auch die kombinierten Aggregationen interessieren.
In diesem Szenario möchten wir die Gesamtzahl der Sicherheitsvorfälle in der Tabelle IncidentRollup ermitteln, folgen aber keiner sauberen Hierarchie. Stattdessen konzentrieren wir uns darauf, mehrere nicht zusammenhängende Attribute zu aggregieren.
Diese Übung ist Teil des Kurses
<Kurs>Zeitreihenanalyse in SQL Server</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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;