Synthétiser des données sur une période
SQL Server propose plusieurs fonctions d’agrégation utiles pour synthétiser les données sur des périodes et en tirer des informations. Dans l’exemple suivant, vous allez examiner un ensemble de rapports d’incidents d’une entreprise fictive. Les incidents ont déjà été agrégés au niveau quotidien, ce qui nous donne un nombre d’incidents par type et par jour. Nous souhaitons 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 premiers enseignements grâce à l’agrégation.
Les principales fonctions d’agrégation que nous utiliserons sont COUNT(), SUM(), MIN() et MAX(). Dans l’Exercice suivant, nous verrons quelques fonctions d’agrégation statistiques.
Cet exercice fait partie du cours
<cours>Analyse de séries temporelles dans SQL Server</cours>Instructions de l’exercice
- Complétez avec la fonction d’agrégation appropriée en fonction du nom de la colonne. Choisissez pour chacune parmi
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;