현재 행은 기준점으로 고정하고, ROWS BETWEEN의 시작 경계와 끝 경계를 어디에 두느냐에 따라 집계 대상 행이 달라집니다.
기본값: UNBOUNDED PRECEDING → CURRENT ROW
정렬된 행
예시: 월별 매출을 ORDER BY month로 정렬
1월100
2월120
3월90 · 현재 행
4월150
5월130
기본 프레임
처음부터 현재 행까지 누적해서 본다
UNBOUNDED PRECEDING
AND CURRENT ROW
포함과거
포함과거
기준점현재 행
제외아직 닫힘
제외아직 닫힘
3행 이동 평균
앞 1행과 뒤 1행만 함께 본다
1 PRECEDING
AND 1 FOLLOWING
제외범위 밖
포함1 PRECEDING
기준점CURRENT ROW
포함1 FOLLOWING
제외범위 밖
경계 키워드는 현재 행에서 상대 위치를 가리킨다
UNBOUNDED PRECEDING
파티션의 첫 행
N PRECEDING
현재보다 N행 앞
CURRENT ROW
지금 계산 중인 행
N FOLLOWING
현재보다 N행 뒤
UNBOUNDED FOLLOWING
파티션의 마지막 행
읽는 법
- 같은 현재 행이라도 왼쪽 경계를 더 열면 과거 행이 더 들어옵니다.
- 오른쪽 경계를 더 열면 미래 행까지 집계에 포함할 수 있습니다.
- 그래서 누적합, 이동 평균, 앞뒤 비교를 모두 같은 윈도우 함수 문법으로 표현할 수 있습니다.