2-2-4. 윈도우 함수

한칙촉·2025년 11월 11일

SQLD 요약 정리

목록 보기
22/30

윈도우 함수

윈도우 함수

  • GROUP BY와 달리, 그룹화하지 않고 각 행에 대하여 계산된 값을 반환하는 함수
  • OVER 키워드와 함께 사용
  • PARTITION BY를 통해 그룹 기준 지정 (옵션)

순위 함수

  • ROW_NUMBER() : 중복 없이 연속 번호 부여 (ex. 1-2-3-4-5-6)
  • RANK() : 같은 값은 같은 순위를 가지고 순위는 건너뜀 (ex. 1-1-3-4-4-6)
  • DENSE_RANK() : 같은 값은 같은 순위를 가지고 순위는 건너뛰지 않음 (ex. 1-1-2-3-3-4)

집계 함수

  • SUM() : 누적합, 총합
  • AVG() : 평균
  • COUNT() : 개수
  • MAX() : 최대값
  • MIN() : 최소값

행 간의 값 참조 함수

  • LAG() : 이전 행의 값 가져오기
  • LEAD() : 다음 행의 값 가져오기
  • FIRST_VALUE() : 정렬 기준 첫번째 값 가져오기
  • LAST_VALUE() : 정렬 기준 마지막 값 가져오기
    - 윈도우 함수는 현재 행까지만 제한하기 때문에, LAST_VALUE는 범위 지정 키워드 사용 필요

범위 지정 키워드

  • ROWS BETWEEN [시작 범위] AND [끝 범위]
  • 범위 지정 생략 시, ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW로 동작 (파티션의 첫 행부터 현재 행까지 누적해서 계산)

비율 함수

  • NTILE(n) : 데이터를 n등분하여 그룹 나누기
  • CUME_DIST() : 누적 백분율
  • PERCENT_RANK() : 백분위 순위
  • RATIO_TO_REPORT() : 전체 대비 비율 (%)
profile
빙글빙글돌아가는..

0개의 댓글