핵심 정리

OVER 절은 “어떤 행들을 어떤 순서로 볼지”를 적는 자리다

함수 이름은 계산 방법, PARTITION은 범위, ORDER BY는 순서, 프레임은 현재 행 기준 범위를 정합니다.

ROW_NUMBER() OVER (
  PARTITION BY dept
  ORDER BY salary DESC
) AS rn
SQL 조각 결과에서 보이는 효과
ROW_NUMBER()각 행에 고유 순위 번호가 붙음
PARTITION BY dept부서별로 순위가 1부터 다시 시작
ORDER BY salary DESC급여가 높은 행부터 번호를 받음
WHERE rn <= 3서브쿼리 바깥에서 TOP-N을 필터링
직원 부서 급여 rn dept_avg
민준개발700016400
서연개발620026400
도윤영업560015200
한 줄 요약: GROUP BY는 행을 접고, 윈도우 함수는 행을 유지한 채 분석 열을 붙입니다.