데이터 사이언스 기초

SQL Window Function

skbaek1223 2024. 11. 4. 14:44

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