본문 바로가기
프로그래밍/oracle

[oracle] RANK() OVER(PARTITION BY 컬럼 ORDER BY 컬럼 분석함수 그룹핑 순위매기기 함수 쿼리

by 캘리포니아전자두뇌 2023. 1. 17.
728x90
300x250

쿼리에서
그룹핑한 후 순위를 매기고 싶은데..
함수가 따로 없을까..?

SELECT RANK() OVER(PARTITION BY 컬럼 ORDER BY 컬럼)
FROM 테이블


  • PARTITION BY 컬럼 : 컬럼을 기준으로 그룹핑
  • ORDER BY 컬럼 : 컬럼을 기준으로 정렬
  • RANK() : 행마다 순위를 매김
  • OVER : 지시어, SELECT구 또는 ORDER BY 구에서 사용 가능


분석함수?

  • 집계 결과를 각 행마다 보여줌.
  • SELECT 구 또는 ORDER BY 구문에서만 사용 가능


cf)

ROW_NUMBER() OVER(PARTITION BY 컬럼 ORDER BY 컬럼) : 1등이 2명이어도 1등,2등으로 나눔.

RANK()는 1등이 2명이면 그 다음 순위는 3등으로 매김.

728x90
반응형

댓글