DATABASE/ORACLE 기본

[Oracle] 오라클 순위 출력 함수 RANK()

ThinkFree 2022. 6. 21. 19:13

 

RANK()

 - RANK()를 사용하면 오라클 데이터의 순위를 출력할 수 있습니다.

 

 

RANK() 문법

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

 - RANK() 뒤에 붙는 OVER 다음에 나오는 괄호 안에 출력하고 싶은 데이터를 정렬하는 SQL 문장을 넣으면 그 컬럼 값에 대한 데이터 순위가 출력됩니다.

 

+오라클 순서 정렬 ORDER BY절(https://javabuilders.tistory.com/22)

 

RANK() 테스트(https://livesql.oracle.com/)

1) RANK()

- RANK()를 사용하여 특정 날짜의 입양한 동물들에 순위를 부여하였습니다.

- 출력된 순위에 공동 순위인 4등의 데이터가 두개가 있어 그다음 순서로는 5등은 건너뛰게 되고 바로 6등이 출력됩니다.

 

 

 

2) DENSE_RANK() - 순위 건너띄움 없이 출력하는 방법

- DENSE_RANK()를 사용하면 공동 순위인 4등의 데이터가 2개가 존재해도 6등으로 건너뛰지 않고 5등부터 출력됩니다.

 

 

3) RANK()를 사용하여 입력한 데이터의 등수 확인 방법

- RANK()의 괄호 안에 랭크를 확인하고자 하는 데이터와 OVER 대신 WITHIN GROUP를 사용하여 해당 데이터가 내가 확인하고자하는 그룹의 데이터에서 몇등인지 알 수가 있습니다. 

- WITHIN GROUP은 '~ 이내' 라는 뜻을 가지고 있습니다.