LoslegenKostenlos loslegen

Erstelle eine Zusammenfassung mit ROLLUP

Der Operator ROLLUP funktioniert am besten, wenn deine Nicht-Messattribute hierarchisch sind. Andernfalls erhältst du möglicherweise ungewöhnliche Aggregationsstufen, die nicht intuitiv sind.

In diesem Szenario möchten wir die Gesamtzahl der Sicherheitsvorfälle in der Tabelle IncidentRollup aggregieren. Das Management möchte die Daten nach der Kombination aus Kalenderjahr, Kalenderquartal und Kalendermonat aggregiert sehen. Zusätzlich möchten sie separate Aggregatzeilen für Kalenderjahr plus Kalenderquartal sowie separate Aggregatzeilen für jedes Kalenderjahr. Abschließend wünschen sie eine weitere Zeile für die Gesamtsumme. Das alles können wir in einem einzigen Schritt erledigen.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in SQL Server

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die Definition von NumberOfIncidents, indem du die Anzahl der Vorfälle über jeden Bereich aufsummierst.
  • Ergänze den GROUP BY-Abschnitt, einschließlich des Operators WITH ROLLUP.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

SELECT
	c.CalendarYear,
	c.CalendarQuarterName,
	c.CalendarMonth,
    -- Include the sum of incidents by day over each range
	___(ir.___) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	ir.IncidentTypeID = 2
GROUP BY
	-- GROUP BY needs to include all non-aggregated columns
	c.___,
	c.___,
	c.___
-- Fill in your grouping operator
WITH ___
ORDER BY
	c.CalendarYear,
	c.CalendarQuarterName,
	c.CalendarMonth;
Code bearbeiten und ausführen