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

GROUPING SETS ile özel gruplamalar oluştur

GROUPING SETS operatörü, istediğimiz belirli toplulaştırma düzeylerini tanımlamamıza olanak tanır.

Bu senaryoda, yönetim ROLLUP'a benzer bir şey görmek istiyor ama bu kadar fazla bilgiye gerek yok. Hiyerarşideki her toplulaştırma düzeyini göstermek yerine üç düzey yeterli: genel toplamlar; yıla göre; ve yıl, çeyrek ve aya göre.

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

SQL Server'da Zaman Serisi Analizi

Kursa Göz Atın

Egzersiz talimatları

  • GROUP BY bölümünü GROUPING SETS kullanarak doldur. Şunları görmek istiyoruz:
  • Yıl, çeyrek ve ayın (bu hiyerarşik sırayla) her kombinasyonu için bir satır
  • Her yıl için bir satır
  • Genel toplamlar için bir satır (yani, boş bir grup)

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

SELECT
	c.CalendarYear,
	c.CalendarQuarterName,
	c.CalendarMonth,
	SUM(ir.NumberOfIncidents) AS NumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	ir.IncidentTypeID = 2
-- Fill in your grouping operator here
GROUP BY ___ ___
(
  	-- Group in hierarchical order:  calendar year,
    -- calendar quarter name, calendar month
	(___, ___, ___),
  	-- Group by calendar year
	(___),
    -- This remains blank; it gives us the grand total
	()
)
ORDER BY
	c.CalendarYear,
	c.CalendarQuarterName,
	c.CalendarMonth;
Kodu Düzenle ve Çalıştır