SQL - Window 함수 사용 사례

SQL로 데이터를 다룰 때마다 Window 함수는
매우 다양한 영역에서 활용되고 있어요.

먼저 Window 함수는 한 번에 여러 행을 묶어서 처리 할수 있는 함수로,
GROUP BY 구문과 매우 비슷하지만, 원형의 데이터를 변형시키지 않고도, 다양한 함수를 여러 행에 동시에 사용할 수 있습니다.

Window 함수는 먼저 아래의 형태로 이루어져 있어요.

[집계 함수(칼럼) OVER([PARTITION BY 컬럼] [ORDER BY 컬럼])]

Window 함수가 가장 많이 사용되는 몇 가지 예시는 다음과 같습니다:

✅ 순위 매기기 [RANK, DENSE_RANK, ROW_NUMBER, LAG, LEAD]

데이터를 특정 기준에 따라 순위를 매기는 데 유용합니다. 예를 들어, 판매 부서에서 매출액이 높은 상위 3명의 직원을 찾을 때 순위 함수를 사용할 수 있습니다.

✅ 이동 계산 [AVG]

시계열 데이터에서 이동 평균을 계산하여 데이터의 추세를 파악하는 데 사용됩니다. 이동 평균은 데이터의 불규칙한 요소를 보다 부드럽게 표현하는 데 도움이 됩니다.

✅ 누적 합계 또는 누적 평균 [SUM, AVG]

일정 기간 동안의 누적 합계나 평균을 계산하는 데 사용됩니다. 예를 들어, 매일 증가하는 재고 수량을 누적 합산하여 전체 재고의 추이를 파악할 수 있습니다.

✅ 그룹별 집계 [SUM, MAX, MIN]

특정 그룹에 대한 집계를 계산할 때 윈도우 함수가 유용합니다. 예를 들어, 지역별로 매출액의 합계를 구하거나 부서별로 최고 월급을 찾는 등의 작업에 활용됩니다.

✅ 백분위수 계산 [PERCENT_RANK, NTILE]

데이터의 분포를 이해하고 이상치를 탐지하기 위해 백분위수를 계산할 때 윈도우 함수가 사용됩니다. 특정 백분위수보다 큰 값이나 작은 값들을 확인하여 데이터의 특성을 분석할 수 있습니다.


#데이터리차드 #윈도우함수 #사용사례 #SQL

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 9월 12일 오후 11:02

댓글 0