Vat gegevens samen over een tijdsperiode
Er zijn verschillende handige aggregatiefuncties in SQL Server waarmee we onze gegevens over tijdsperiodes kunnen samenvatten en inzichten kunnen krijgen. In het volgende voorbeeld bekijk je een set incidentrapporten van een fictief bedrijf. Zij hebben hun incidenten al samengevoegd naar het dag-niveau, waardoor we een aantal incidenten per type en per dag hebben. We willen dit verder onderzoeken en de incidenten over een periode van drie maanden bekijken, van 1 augustus tot en met 31 oktober, en via aggregatie basisinzichten opdoen.
De belangrijkste aggregatiefuncties die we gebruiken zijn COUNT(), SUM(), MIN() en MAX(). In de volgende oefening kijken we naar enkele statistische aggregatiefuncties.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in SQL Server
Oefeninstructies
- Vul de juiste aggregatiefunctie in op basis van de kolomnaam. Kies voor elke kolom uit
COUNT(),SUM(),MIN()enMAX().
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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;