SQL 에서 자주 쓰는 Window Function 에 대해 정리해보려고 합니다.
Window Function 은 특정한 열의 행 각각을 기준으로 다른 열을 정렬하려고 할 때 Select 에서 활용할 수 있는 코드 입니다. 종류는 총 네 가지가 있습니다.
● rank: 파티션 별 값 순위
RANK() OVER(PARTITION BY 컬럼1 ORDER BY 컬럼2)
○ RANK()는 중간 순위를 비우지만, DENSE_RANK() 는 중간 순위를 비우지 않는다는 점에서만 다르고 나머지는 같습니다.
● row_number: 파티션 별 행 순위
ROW_NUMBER() OVER(PARTITION BY 컬럼1 ORDER BY 컬럼2)
● first_value, last_value: 파티션 별 먼저, 나중에 나온 값
FIRST_VALUE(컬럼1) OVER(PARTITION BY 컬럼2 ORDER BY 컬럼3)
LAST_VALUE(컬럼1) OVER(PARTITION BY 컬럼2 ORDER BY 컬럼3)
● lag: 이전 n번째 행
LAG(컬럼1, (N)) OVER (PARTITION BY 컬럼2 ORDER BY 컬럼3)
● lead: 이후 n번째 행
LEAD(컬럼1, (N)) OVER (PARTITION BY 컬럼2 ORDER BY 컬럼3)
● percent_rank: 파티션 별 백분률 (첫번째: 0, 마지막:1)
PERCENT_RANK() OVER (PARTITION BY 컬럼1 ORDER BY 컬럼2)
● cume_dist: 파티션 별 누적 백분률
CUME_DIST() OVER (PARTITION BY 컬럼1 ORDER BY 컬럼2)
● ntile : 파티션 별 N 등분 결과
NTILE(N) OVER (PARTITION BY 컬럼1 ORDER BY 컬럼2)
'데이터 사이언스 기초' 카테고리의 다른 글
파이썬 기초 프로젝트 리뷰 (3) | 2024.11.09 |
---|---|
Leet-Code pandas 버전 리뷰 (1) | 2024.11.08 |
시계열 분석 (0) | 2024.11.02 |
거리 측도 (0) | 2024.10.31 |
ML 분류 모형 평가 지표 (0) | 2024.10.30 |