Kom igångKom igång gratis

Visa föregående och kommande perioder

Fönsterfunktionerna LAG() och LEAD() gör det möjligt att titta bakåt respektive framåt i tiden. Det ger möjlighet att jämföra data period för period i en enda, enkel fråga.

I den här övningen vill vi jämföra antalet säkerhetsincidenter per dag för incidenttyperna 1 och 2 under juli 2019, specifikt perioden från den 2 juli till den 31 juli.

Den här övningen är en del av kursen

Tidsserieanalys i SQL Server

Visa kurs

Övningsinstruktioner

  • Fyll i fönsterfunktionen för att returnera föregående dags antal incidenter, partitionerat efter incidenttyp-ID och ordnat efter incidentdatum.
  • Fyll i fönsterfunktionen för att returnera nästa dags antal incidenter, partitionerat efter incidenttyp-ID och ordnat efter incidentdatum.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

SELECT
	ir.IncidentDate,
	ir.IncidentTypeID,
    -- Get the prior day's number of incidents
	___(ir.___, ___) OVER (
      	-- Partition by incident type ID
		PARTITION BY ir.___
      	-- Order by incident date
		ORDER BY ir.___
	) AS PriorDayIncidents,
	ir.NumberOfIncidents AS CurrentDayIncidents,
    -- Get the next day's number of incidents
	___(ir.___, ___) OVER (
      	-- Partition by incident type ID
		PARTITION BY ir.___
      	-- Order by incident date
		ORDER BY ir.___
	) AS NextDayIncidents
FROM dbo.IncidentRollup ir
WHERE
	ir.IncidentDate >= '2019-07-02'
	AND ir.IncidentDate <= '2019-07-31'
	AND ir.IncidentTypeID IN (1, 2)
ORDER BY
	ir.IncidentTypeID,
	ir.IncidentDate;
Redigera och kör kod