시작하기무료로 시작하기

이전 기간과 이후 기간 살펴보기

LAG()LEAD() 윈도 함수는 각각 시간상 과거와 미래의 값을 조회할 수 있게 해줍니다. 이를 통해 하나의 간단한 쿼리로 기간 간 데이터를 비교할 수 있습니다.

이 연습 문제에서는 2019년 7월 중, 특히 7월 2일부터 7월 31일까지 구간에서, 사고 유형 1과 2의 일별 보안 사고 건수를 비교해 보겠습니다.

이 연습은 강의의 일부입니다

SQL Server에서의 시계열 분석

강의 보기

연습 안내

  • 윈도 함수를 채워, 사고 유형 ID별로 파티션을 나누고 사고 일자 순서로 정렬했을 때, 전일의 사고 건수를 반환하게 하세요.
  • 윈도 함수를 채워, 사고 유형 ID별로 파티션을 나누고 사고 일자 순서로 정렬했을 때, 익일의 사고 건수를 반환하게 하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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;
코드 편집 및 실행