Verileri bir zaman aralığında özetle
SQL Server'da, verileri zaman aralıkları boyunca özetlemek ve içgörüler elde etmek için kullanabileceğimiz birkaç yararlı toplu işlev (aggregate function) vardır. Aşağıdaki örnekte, kurgusal bir şirketteki olay (incident) raporlarını inceleyeceksin. Olayları günlük taneleme düzeyinde birleştirmişler; böylece bize tür ve gün başına olay sayısı verilmiş. Biz de daha derine inmek ve 1 Ağustos'tan 31 Ekim'e kadar üç aylık bir dönemdeki olayları inceleyip, toplulaştırma yoluyla temel içgörüler edinmek istiyoruz.
Kullanacağımız temel toplu işlevler COUNT(), SUM(), MIN() ve MAX() olacak. Sonraki egzersizde, bazı istatistiksel toplu işlevlere bakacağız.
Bu egzersiz, kursun bir parçasıdır
SQL Server'da Zaman Serisi Analizi
Egzersiz talimatları
- Sütun adına göre uygun toplu işlevi doldur. Her biri için
COUNT(),SUM(),MIN()veMAX()arasından seç.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
-- Fill in the appropriate aggregate functions
SELECT
it.IncidentType,
___(1) AS NumberOfRows,
___(ir.NumberOfIncidents) AS TotalNumberOfIncidents,
___(ir.NumberOfIncidents) AS MinNumberOfIncidents,
___(ir.NumberOfIncidents) AS MaxNumberOfIncidents,
___(ir.IncidentDate) As MinIncidentDate,
___(ir.IncidentDate) AS MaxIncidentDate
FROM dbo.IncidentRollup ir
INNER JOIN dbo.IncidentType it
ON ir.IncidentTypeID = it.IncidentTypeID
WHERE
ir.IncidentDate BETWEEN '2019-08-01' AND '2019-10-31'
GROUP BY
it.IncidentType;