25

윈도우 함수: GROUP BY 없이 집계하기

Day 1: 행 순서대로 번호 매기고 싶은데

학습 목표

윈도우 함수와 일반 집계 함수의 차이를 이해한다 OVER 절의 기본 구문을 익힌다

윈도우 함수가 뭔데?

여러 행을 보면서, 각 행에 결과를 붙이는 함수.


GROUP BY vs 윈도우 함수

GROUP BY: 축소

에디터 로딩 중...

결과:

에디터 로딩 중...

8명이 3개 행으로 축소됐다.


윈도우 함수: 유지

에디터 로딩 중...

결과:

에디터 로딩 중...

8명이 8개 행 그대로! 각 행에 평균값이 추가됐다.


핵심 차이

특성GROUP BY윈도우 함수
결과 행 수그룹 수만큼 축소원본 그대로
원본 데이터접근 불가함께 출력
용도요약 보고서비교 분석

OVER 절: 윈도우 함수의 핵심

에디터 로딩 중...

OVER() - 빈 괄호

에디터 로딩 중...

전체가 하나의 윈도우. 모든 행에 같은 평균값.

PARTITION BY - 그룹 나누기

에디터 로딩 중...

부서별로 독립적인 윈도우. 각 부서의 평균.

ORDER BY - 순서 지정

에디터 로딩 중...

높은 급여 순으로 번호 매기기.

PARTITION BY + ORDER BY

에디터 로딩 중...

부서 안에서 높은 급여 순으로 번호 매기기.


윈도우 함수의 종류

함수하는 일
순위 함수ROW_NUMBER, RANK, DENSE_RANK, NTILE
집계 함수SUM, AVG, COUNT, MAX, MIN (OVER와 함께)
오프셋 함수LAG, LEAD, FIRST_VALUE, LAST_VALUE

오늘은 순위 함수에 집중한다.