시작하기무료로 시작하기

이동 평균 계산하기

처음부터 지금까지의 누계를 보는 대신, 경영진은 최근 7일간—즉, 6일 전부터 오늘까지—발생한 사건 수의 평균을 보고 싶어 합니다. 이처럼 쿼리 진행에 따라 변하는 지정된 프레임에서 계산하는 평균을 이동 평균이라고 해요.

SQL Server의 윈도 함수는 시간 범위를 직접 지정할 수 없으므로, 하루에 한 행씩 있다고 가정하고 ROWS 절을 사용해야 합니다.

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

SQL Server에서의 시계열 분석

강의 보기

연습 안내

  • 6일 전부터 오늘(현재 행)까지의 범위로 이동 평균을 계산하는 적절한 윈도 함수를 채워 넣으세요.
  • ROWS 절, 프레임의 preceding, 프레임의 following을 포함하여 윈도 프레임을 완성하세요.

실습형 인터랙티브 연습

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

SELECT
	ir.IncidentDate,
	ir.IncidentTypeID,
	ir.NumberOfIncidents,
    -- Fill in the correct window function
	___(ir.NumberOfIncidents) OVER (
		PARTITION BY ir.IncidentTypeID
		ORDER BY ir.IncidentDate
      	-- Fill in the three parts of the window frame
		___ BETWEEN ___ AND ___
	) AS MeanNumberOfIncidents
FROM dbo.IncidentRollup ir
	INNER JOIN dbo.Calendar c
		ON ir.IncidentDate = c.Date
WHERE
	c.CalendarYear = 2019
	AND c.CalendarMonth IN (7, 8)
	AND ir.IncidentTypeID = 1
ORDER BY
	ir.IncidentTypeID,
	ir.IncidentDate;
코드 편집 및 실행