Підсумуйте дані за період часу
У SQL Server є кілька корисних агрегатних функцій, які допомагають підсумовувати дані за проміжками часу й отримувати інсайти. У цьому прикладі ви розглянете набір звітів про інциденти у вигаданій компанії. Інциденти вже зведено до денного зрізу, тож маємо кількість інцидентів за типами та днями. Ми хочемо зануритися глибше, переглянути інциденти за тримісячний період — з 1 серпня до 31 жовтня — і отримати базові висновки за допомогою агрегації.
Ключові агрегатні функції, які ми використаємо: COUNT(), SUM(), MIN() і MAX(). У наступній вправі ми розглянемо деякі статистичні агрегатні функції.
Ця вправа є частиною курсу
Аналіз часових рядів у SQL Server
Інструкції до вправи
- Підставте відповідну агрегатну функцію за назвою стовпця. Для кожного оберіть з
COUNT(),SUM(),MIN()іMAX().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- 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;