• 윈도우 함수 사용 옵션

    • 기준
      • ROWS BETWEEN ~ : 행 번호 기준
      • RANGE BETWEEN ~ : 행의 데이터 값 기준
        • 어떤 컬럼의 데이터 값인지는 앞 order by에 붙은 컬럼을 기준으로 한다
    • 범위
      • UNBOUNDED : 범위 미지정
        • UNBOUNDED PRECEDING이면 맨 위
        • UNBOUNDED FOLLOWING이면 맨 아래
      • CURRENT ROW : 현재 행
      • n PRECEDING : N만큼 위로
        • ROWS BETWEEN 5 PRECEDING : 5행만큼 위로
        • RANGE BETWEEN 5 PRECEDING : 기준 데이터 값에서 행 위로 5만큼 값 차이
      • n FOLLOWING : N만큼 아래로
  • 순위 함수

    • RANK()
      • 1, 2, 2, 4, 5, 5, 7
    • DENSE_RANK()
      • 1, 2, 2, 3, 4, 4, 5
    • ROW_NUMBER()
      • 1, 2, 3, 4, 5, 6, 7
  • 집계 함수

    • SUM(컬럼명)
    • MAX(컬럼명)
    • MIN(컬럼명)
    • AVG(컬럼명)
    • COUNT(컬럼명 or *)
  • 행 순서 함수

    • FIRST_VALUE(컬럼명) : 파티션 별 가장 선두 데이터
    • LAST_VALUE(컬럼명) : 파티션 별 가장 끝 데이터
    • LAG(컬럼명, 숫자) : 파티션 별 “숫자”만큼 앞선 데이터
    • LEAD(컬럼명, 숫자) : 파티션 별 “숫자”만큼 뒤에 있는 데이터
  • 비율 함수

    • RATIO_TO_REPORT(컬럼명) : 파티션 별 합계에서 차지하는 비율
    • PERCENT_RANK() : 파티션에서 맨 위 끝 행을 0, 맨 아래 끝 행을 1로 놓을 때 현재 행 백분위 순위 값
      • (RANK() - 1) / (COUNT() -1)
    • CLIME_DIST() : 해당 파티션에서 누적 백분율 구하는 함수
      • COUNT() OVER(RANGE UNBOUNDED PRECEDING) / COUNT() OVER()
        • OVER 안에 값이 들어가면 DEFAULT 옵션 발동(RANGE UNBOUNDED PRECEDING)
    • NTILE(값) : 주어진 값만큼 파티션 안의 데이터를 나누고 나눠진 그룹 번호를 부여