Résumer des données sur une période
SQL Server offre plusieurs fonctions d'agrégation utiles pour résumer des données sur des périodes et en tirer des observations. Dans l'exemple suivant, vous examinerez un ensemble de rapports d'incident d'une entreprise fictive. Les incidents ont déjà été regroupés au niveau quotidien, ce qui nous donne un nombre d'incidents par type et par jour. Nous voulons aller plus loin et analyser les incidents sur une période de trois mois, du 1er août au 31 octobre, afin d'obtenir des constats de base grâce à l'agrégation.
Les fonctions d'agrégation principales que nous utiliserons sont COUNT(), SUM(), MIN() et MAX(). Dans le prochain exercice, nous verrons certaines fonctions d'agrégation statistiques.
Cette activité fait partie du cours
Analyse de séries chronologiques dans SQL Server
Instructions de l’exercice
- Insérez la fonction d'agrégation appropriée selon le nom de la colonne. Choisissez pour chacune entre
COUNT(),SUM(),MIN()etMAX().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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;