SQL 마스터 가이드 (3): 윈도우 함수와 고급 분석 연산
|
1 min read
윈도우 함수(Window Function)는 행과 행 사이의 관계를 정의하고 순위, 비율, 이동 평균 등을 계산할 때 사용합니다.
1. 윈도우 함수의 기본 구조
윈도우 함수는
text
OVERsql
SELECT 함수(컬럼) OVER (PARTITION BY ... ORDER BY ... WINDOWING 절)2. 순위와 비율 함수
- RANK / DENSE_RANK / ROW_NUMBER: 중복 순위 처리 방식에 따라 나뉘는 순위 함수들입니다.
- PERCENT_RANK / CUME_DIST: 백분율 순위와 누적 분포를 계산합니다.
- NTILE: 전체 데이터를 N개의 그룹으로 균등하게 나눕니다.
- RATIO_TO_REPORT: 그룹 내 전체 합계 대비 현재 행의 비율을 구합니다.
3. 행 순서와 집계 함수
- LAG / LEAD: 현재 행을 기준으로 이전() 또는 다음(text
LAG) 행의 값을 가져옵니다. 추이 분석에 필수적입니다.textLEAD - FIRST_VALUE / LAST_VALUE: 윈도우 범위 내에서 가장 첫 번째 값이나 마지막 값을 가져옵니다.
- 집계 윈도우 함수: ,text
SUM,textAVG,textMAX,textMIN등을textCOUNT절과 함께 사용하여 누적 합계나 이동 평균을 계산할 수 있습니다.textOVER