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

    함께 읽은 게시물

    앞으로의 코테는 설명을 주고 코드를 짜라고 하는 것이 아니라, 코드를 주고 설명을 하라는 것이 유효할 것이다.


    내 경우는 이미 그렇게 하고 있는데, 요구사항을 주고 개발을 요청. 결과물이 요구사항대로 개발이 잘 되었다면, 다음 단계로 제출한 코드를 리뷰하며 설명을 요청한다.


    ... 더 보기

     • 

    댓글 2 • 저장 21 • 조회 3,546


    나는 종종 생산성을 올리기 위한 각종 개발 툴은 물론, 라이브러리나 소스 코드를 구매하기도 한다.


    소스 코드의 경우 실제로 써먹지 못하는 경우도 상당수 되긴 하지만, 그래도 구성이나 코드를 보면서 배우는게 있기 때문에 학습 비용이라고 생각하고 가끔 구매하는 편이다.


    ... 더 보기

    데이터 분석가 600명의 이직 결심 사유는 무엇일까요?

    ... 더 보기

    - YouTube

    www.youtube.com

     - YouTube

    < 보여서 걷는 게 아니라, 걷다 보니 길 >

    1

    ... 더 보기