CommencezCommencez gratuitement

Voir les périodes précédentes et suivantes

Les fonctions de fenêtrage LAG() et LEAD() permettent de regarder respectivement en arrière ou en avant dans le temps. Elles facilitent ainsi la comparaison des données d'une période à l'autre dans une seule requête simple.

Dans cet exercice, vous allez comparer le nombre d'incidents de sécurité par jour pour les types d'incident 1 et 2 durant juillet 2019, plus précisément pour la période du 2 juillet au 31 juillet.

Cette activité fait partie du cours

Analyse de séries chronologiques dans SQL Server

Voir le cours

Instructions de l’exercice

  • Complétez la fonction de fenêtrage pour retourner le nombre d'incidents de la veille, avec partition par identifiant de type d'incident et tri par date d'incident.
  • Complétez la fonction de fenêtrage pour retourner le nombre d'incidents du lendemain, avec partition par identifiant de type d'incident et tri par date d'incident.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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;
Modifier et exécuter le code