Inizia subitoInizia gratis

Vedere periodi precedenti e successivi

Le funzioni finestra LAG() e LEAD() ci permettono rispettivamente di guardare indietro o avanti nel tempo. Questo ci consente di confrontare i dati periodo su periodo con un'unica query semplice.

In questo esercizio, vogliamo confrontare il numero di incidenti di sicurezza per giorno per i tipi di incidente 1 e 2 durante luglio 2019, in particolare dal 2 luglio al 31 luglio.

Questo esercizio fa parte del corso

Analisi delle serie temporali in SQL Server

Visualizza corso

Istruzioni dell'esercizio

  • Completa la funzione finestra per restituire il numero di incidenti del giorno precedente, partizionando per ID del tipo di incidente e ordinando per data dell'incidente.
  • Completa la funzione finestra per restituire il numero di incidenti del giorno successivo, partizionando per ID del tipo di incidente e ordinando per data dell'incidente.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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;
Modifica ed esegui il codice