Coding Diary.

(SQL) 윈도우 함수 (Window Fuction) 개념 및 종류 총정리 본문

Coding/SQL

(SQL) 윈도우 함수 (Window Fuction) 개념 및 종류 총정리

life-of-nomad 2024. 5. 31. 14:00
728x90
반응형
이번 글에서는 다음 두 가지 경우에서 유용한 함수인 윈도우 함수에 대해 알아보겠습니다.
1) 데이터의 행 또는 레코드에 대한 추세 또는 변화를 측정하려는 경우
2) 활동 또는 우선순위에 대해 열의 순위를 지정하려는 경우

 

1. Window 함수

  • Window 함수는 현재 행과 어떤 식으로든 관련이 있는 테이블의 행 집합에 대한 계산입니다.
    • 현재 행을 통합하는 누계 계산 
    • 현재 행을 포함하여 행 전체에서 레코드 순위 지정
  • Window 함수는 group by 절과 결합된 집계 함수와 유사하지만 중요한 차이점이 있습니다.
  • Window 함수는 입력 테이블과 출력 테이블 사이의 총 행의 수를 유지합니다.
  • 만약 원래의 데이터세트가 10개의 행으로 구성된다면 윈도우 함수의 출력도 마찬가지로 10개의 행으로 구성되며 각 행에서는 누적 지표를 계산한 결과를 확인할 수 있습니다. 
  • 아래의 예시를 보고 특징을 살펴보겠습니다.

출처 ❘ Udacity

  • 1) 윈도우 함수는 상위 쿼리의 SELECT 절에 포함됩니다.
  • 2) OVER, PARTITION BY 절이 존재합니다. 
  • 위의 예시는 Amazon의 누적 주문 금액을 월 별로 계산합니다.  

출처 ❘ Udacity

  • 출력 결과를 살펴보면 왼쪽에는 윈도우 함수의 출력 형태를 확인할 수 있습니다.
  • 특히, 모든 행이 그대로 유지되고 있습니다.

2. window 함수의 종류

1) Core : 주요 함수

  • PARTITION BY : OVER 절의 하위절으로 GROUP BY 와 유사
  • OVER : 일반적으로 GROUP BY 에 신호를 보내는 PARTITION 앞에 옴
  • AGGREGATES : window 함수에서 사용되는 집계 함수 (ex. SUM, COUNT, AVG)

🔻(참고)PARTITION BY, OVER🔻

 

(SQL) 주요 Window 함수인 PARTITION BY, OVER 개념 구문 및 예시

지난 글에서 설명드린 여러 가지 Window 함수 중 PARTITION BY, OVER에 대해 자세히 알아보겠습니다. 🔻(참고)Window 함수 종류🔻 (SQL) 윈도우 함수 (Window Fuction) 개념 및 종류이번 글에서는 다음 두 가

life-of-nomad.tistory.com

 

2) Ranking : 순위 함수

  • ROW_NUMBER() : 각 행이 다른 번호를 얻는 순위 함수
  • RANK() : 행이 동일한 값을 가질 경우 동일한 순위를 얻을 수 있는 순위 함수
  • DENSE_RANK() : RANK()와 유사하지만 순위는 동점으로 건너뛰지 않음

🔻(참고)순위 함수🔻

 

(SQL) 순위 윈도우(Window) 함수 Row_number, Rank, Dense rank 개념 및 구문 예시

지난 글에서 설명드린 여러 가지 Window 함수 중 순위를 지정하는 함수인 ROW_NUMBER, RANK, DENSE_RANK에 대해 자세히 알아보겠습니다. 🔻(참고)Window함수 종류🔻 (SQL) 윈도우 함수 (Window Fuction) 개념 및

life-of-nomad.tistory.com

 

3) Advanced : 고급 윈도우 함수 

  • ALIASES : 하나의 쿼리에 여러 Window 함수가 있는 경우 사용할 수 있는 별칭
  • PERCENTILES : 전체 테이블에서 값이 속하는 백분위수 정의
  • LAG/ LEAD : 행 값 간의 차이를 계산

🔻(참고)LAG/LEAD/PERCENTILES🔻

 

(SQL) 고급 윈도우 함수 ALIASES, LAG/ LEAD, PERCENTILES

지난 글에서 설명한 윈도우 함수(Window function) 중 ALIASES, LAG/ LEAD, PERCENTILES 에 대해 알아보겠습니다. 🔻(참고)윈도우 함수 종류🔻 (SQL) 윈도우 함수 (Window Fuction) 개념 및 종류이번 글에서는 다음

life-of-nomad.tistory.com

 

 

 

728x90
반응형