728x90
반응형
순위 함수의 종류
순위함수의 종류는 아래와 같이 세가지가 있다.
해당 함수들은 중복값에대하여 어떻게 처리 할껀지에 따라서 사용 방법이 다르게 나뉘어 진다.
- RANK : 중복값이 있다면 동일한 순위로 지정되고 다음 값에 대해서는 중복된 값의 수만큼을 건너뛰고 출력된다.
(ex. 1 - 2 - 3 - 3 - 3 - 6 - 7) - DENSE_RANK : 중복값이 있다면 동일한 순위로 지정되고 다음 값에 대해서는 중복된 순위 다음 수가 출력된다.
(ex. 1 - 2 - 3 - 3 - 4 - 5) - ROW_NUMBER : 중복값과 상관없이 순위를 순차적으로 출력한다.
(ex. 1 - 2 - 3 - 4 - 5)
기본 문법
SELECT 컬럼명 , ROW_NUMBER () OVER (ORDER BY 기준 컬럼명) AS RNAK FROM 테이블 명 ;
ROW_NUMBER 함수 사용 예시
ROW_NUMBER 함수를 이용하여 TEST_STUDENT 테이블에서 SCORE 값을 기준으로 성적이 높은 학생 순위 출력 하고 싶을 때
SELECT STUDENT_NAME , ROW_NUMBER() OVER (ORFER BY SCORE DESC) AS SCORE FROM TEST_STUDENT
728x90
반응형
'SQL' 카테고리의 다른 글
Oracle 반올림 함수 (ROUND / CEIL / FLOOR / TRUNC / TO_NOMBER) (0) | 2023.10.19 |
---|---|
[ORACLE] 조회된 데이터의 ROW CONUT 수를 반환 하는 함수 - COUNT() (2) | 2022.10.05 |
[ORACLE] 순위를 정하는 함수 (순위 함수) - DENSE_RANK (1) | 2022.09.22 |
[ORACLE] 순위를 정하는 함수 (순위 함수) - RANK (0) | 2022.09.22 |
[ORACLE] LISTAGG 함수 (여러행의 데이터를 하나의 행으로 합치기) (1) | 2022.09.21 |