BaşlayınÜcretsiz başlayın

ROLLUP ile bir özet oluştur

ROLLUP işleci, ölçüm dışındaki özniteliklerin hiyerarşik olduğu durumlarda en iyi sonucu verir. Aksi takdirde, sezgisel olarak anlamlı olmayan garip bir toplama düzeyiyle karşılaşabilirsin.

Bu senaryoda, IncidentRollup tablosundaki toplam güvenlik olaylarını toplamak istiyoruz. Yönetim, verileri takvim yılı, takvim çeyreği ve takvim ayı kombinasyonuna göre toplanmış şekilde görmek istiyor. Buna ek olarak, takvim yılı artı takvim çeyreği için ayrı toplu satırlar ile her bir takvim yılı için ayrı toplu satırlar da istiyorlar. Son olarak, genel toplam için bir satır daha istiyorlar. Bunların hepsini tek bir işlemle yapabiliriz.

Bu egzersiz, kursun bir parçasıdır

SQL Server'da Zaman Serisi Analizi

Kursa Göz Atın

Egzersiz talimatları

  • Her aralık için olay sayısını toplayarak NumberOfIncidents tanımını tamamla.
  • WITH ROLLUP işleci de dahil olmak üzere GROUP BY bölümünü doldur.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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;
Kodu Düzenle ve Çalıştır