ПочатиПочніть безкоштовно

Перегляд попередніх і майбутніх періодів

Віконні функції LAG() і LEAD() дають змогу відповідно дивитися назад або вперед у часі. Це дозволяє порівнювати показники між періодами в одному, простому запиті.

У цій вправі ми хочемо порівняти кількість інцидентів безпеки за днями для типів інцидентів 1 і 2 протягом липня 2019 року, а саме в період з 2 липня до 31 липня.

Ця вправа є частиною курсу

Аналіз часових рядів у SQL Server

Переглянути курс

Інструкції до вправи

  • Заповніть віконну функцію, щоб повернути кількість інцидентів за попередній день, розбивши за ідентифікатором типу інциденту та впорядкувавши за датою інциденту.
  • Заповніть віконну функцію, щоб повернути кількість інцидентів за наступний день, розбивши за ідентифікатором типу інциденту та впорядкувавши за датою інциденту.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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;
Редагувати та запускати код