Začněte nyníZačněte zdarma

Pohled do minulých i budoucích období

Okenní funkce LAG() a LEAD() ti umožňují nahlédnout zpět nebo dopředu v čase. Díky tomu můžeš porovnávat data z různých období v jediném přehledném dotazu.

V tomto cvičení porovnáme počet bezpečnostních incidentů podle dne pro typy incidentů 1 a 2 během července 2019 – konkrétně za období od 2. do 31. července.

Toto cvičení je součástí kurzu

Time Series Analysis in SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Doplň okenní funkci, která vrátí počet incidentů z předchozího dne, s oddělením podle ID typu incidentu a seřazením podle data incidentu.
  • Doplň okenní funkci, která vrátí počet incidentů z následujícího dne, s oddělením podle ID typu incidentu a seřazením podle data incidentu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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;
Upravit a spustit kód