Summera data över en tidsperiod
SQL Server innehåller flera användbara aggregatfunktioner som vi kan använda för att summera data över tidsperioder och få fram insikter. I följande exempel arbetar du med en uppsättning incidentrapporter från ett fiktivt företag. De har redan aggregerat sina incidenter på dagsnivå, vilket ger oss antal incidenter per typ och dag. Vi vill undersöka detta närmare och granska incidenter under en tremånadersperiod – från den 1 augusti till den 31 oktober – och få grundläggande insikter genom aggregering.
De viktigaste aggregatfunktionerna vi använder är COUNT(), SUM(), MIN() och MAX(). I nästa övning tittar vi på några av de statistiska aggregatfunktionerna.
Den här övningen är en del av kursen
Tidsserieanalys i SQL Server
Övningsinstruktioner
- Fyll i lämplig aggregatfunktion baserat på kolumnnamnet. Välj bland
COUNT(),SUM(),MIN()ochMAX()för varje kolumn.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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;