Podsumowywanie danych w określonym przedziale czasu
SQL Server oferuje kilka przydatnych funkcji agregujących, które pozwalają podsumowywać dane w różnych przedziałach czasu i wyciągać z nich wnioski. W poniższym ćwiczeniu przyjrzysz się zestawowi raportów o incydentach z fikcyjnej firmy. Dane zostały już zagregowane do poziomu dziennego, co oznacza, że mamy do dyspozycji liczbę incydentów według typu i dnia. Naszym celem jest dokładniejsza analiza incydentów z okresu trzech miesięcy – od 1 sierpnia do 31 października – przy użyciu podstawowych funkcji agregujących.
Wykorzystamy cztery kluczowe funkcje agregujące: COUNT(), SUM(), MIN() i MAX(). W kolejnym ćwiczeniu poznasz statystyczne funkcje agregujące.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Instrukcje do ćwiczenia
- Uzupełnij zapytanie odpowiednią funkcją agregującą dopasowaną do nazwy kolumny. Wybierz spośród
COUNT(),SUM(),MIN()iMAX().
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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;