윈도우 함수 분류

윈도우 함수는 행을 유지한 채 세 가지 질문에 답한다

OVER 절은 같은 입력 행을 보존합니다. 달라지는 것은 현재 행 옆에 붙일 값이 “순서”, “앞뒤 행”, “묶음 통계” 중 무엇인지입니다.

입력 파티션

부서 A의 행은 그대로 흘러간다

namesalarymonth
도윤 5,700 1월
서연 6,200 2월
민준 7,000 3월
PARTITION
ORDER month ASC
순위

순위 함수

ROW_NUMBER, RANK, NTILE은 정렬된 위치를 새 열로 붙입니다.

1도윤row_number
2서연rank
3민준ntile
오프셋

오프셋 함수

LAG, LEAD는 현재 행 기준으로 앞뒤 행을 가져와 변화량을 읽게 합니다.

이전 없음현재서연
도윤현재민준
서연현재다음 없음
집계

집계 함수

SUM, AVG, COUNTGROUP BY처럼 줄이지 않고 통계를 반복해 붙입니다.

도윤의 부서합18,900
서연의 부서합18,900
민준의 부서합18,900
선택 1

위치가 필요하면 순위

상위 N명, 동점 순위, 분위 구간처럼 정렬된 번호가 결과 열이 됩니다.

선택 2

앞뒤 비교는 오프셋

전월 대비, 이전 상태, 다음 이벤트처럼 행 사이 관계를 읽습니다.

선택 3

통계를 붙이면 집계

행을 줄이는 집계가 아니라, 같은 행 수 위에 평균과 합계를 덧붙입니다.