11.2.3 프레임 절로 집계 범위 조정하기
윈도우 함수를 사용할 때 빠질 수 없는 부분이 OVER 절입니다. OVER 절은 PARTITION BY와 ORDER BY 절로 구성되는데, 여기에 추가로 프레임 절을 사용할 수 있습니다. PARTITION BY로 지정된 파티션을 다시 하위 집합으로 나눌 수 있는데, 이때 하위 집합을 프레임(frame)이라고 합니다.
프레임 절의 구문은 다음과 같습니다.
구문 11-4
ROWS 또는 RANGE BETWEEN frame_start AND frame_end
프레임 절은 몇 개 항목으로 구성되며, 각 항목은 다음과 같습니다.
• ROWS 현재 로우를 기준으로 로우 단위로 대상 프레임 지정
• RANGE 현재 로우를 기준으로 값의 범위 단위로 대상 프레임 지정
• BETWEEN frame_start AND frame_end frame_start와 frame_end 사이에 있는 로우 지정
frame_start와 frame_end에 사용 가능한 옵션 값은 다음과 같습니다.
• CURRENT ROW 현재 로우
• UNBOUNDED PRECEDING 파티션의 첫 번째 로우
• UNBOUNDED FOLLOWING 파티션의 마지막 로우
• n PRECEDING
- ROWS 사용: 현재 로우 기준 n번째 앞 로우
- RANGE 사용: 현재 로우의 값에서 n을 뺀 값을 가진 로우
• n FOLLOWING
- ROWS 사용: 현재 로우 기준 n번째 뒤 로우
- RANGE 사용: 현재 로우의 값에서 n을 더한 값을 가진 로우