카테고리 없음2022. 11. 7. 14:15

공통사항

 

문법

 

RANK() OVER (

    [PARTITION BY <value expression1>] [,....]

    ORDER BY <value expression2> [collate clause] [ASC/DESC]

      [NULLS FIRST|NULLS LAST] [,...]

)

 

각 절의 설명  

- OVER

  쿼리 result set을 이용해 동작하는 함수라는 구분이다.

- PARTITION BY 

  result set을 value expression에 지정된 값에 근거하여 분할하는 역할 수행

- ORDER BY 

  각 PARTITION 내에서 DATA가 어떤 값을 기준으로 정렬될 것인가를 지정.

- NULLS FIRST | NULLS LAST

   NULL이 포함된 ROW가 순서상 제일 앞에 위치할 것인지 제일 뒤에 위치할 것인지를 지정.

 

두 함수의 차이점 

 

RANK() : 

등수를 리턴하는 함수로 같은 등수가 있을 때는 그 등수를 제외하고 등수가 부여됨.
          예) 1,2,2,4,5,5,7 ..

 

DENSE_RANK() :

등수를 리턴하는 함수로 같은 등수가 있더라도 그 등수를 빼지 않고 등수를 부여함.
         예) 1,2,2,3,4,4,5 ..

Posted by 자수성가한 부자