Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 과정평가형
- Oracle
- javascript
- 오류
- select
- json
- Ajax
- eGov
- 정의
- eGovFramework
- TO_DATE
- controller
- jQuery
- sql
- 개념
- POI
- CSS
- spring
- Java
- web.xml
- JVM
- 암호화
- array
- mybatis
- was
- input
- 태그
- 함수
- html
- jsp
Archives
- Today
- Total
web developer
[sql] RANK, DENSE_RANK, ROW_NUMBER 함수 본문
728x90
728x90
(1) RANK 함수
RANK 함수는 중복 값들에 대해서 동일한 순위로 표시하고,
중복 순위 다음 값에 대해서는 중복 개수만큼 건너뛰고, 중복순위 + 중복값 개수의 순위로 출력하는 함수입니다.
SELECT EMPNO, EMPNAME, SALARY,
RANK() OVER (ORDER BY SALARY DESC) AS RANK
FROM EMPLOYEE;
EMPNO EMPNAME SALARY RANK
----------- ------------ ---------- --------
494 손흥민 1000 1
495 박지성 900 2
493 차범근 800 3
496 정우영 700 4
492 황희찬 500 5
495 이강인 500 5
496 이승우 400 7
493 송범근 300 8
492 조현우 250 9
(2) DENSE_RANK
DENSE_RANK 함수는 중복 값들에 대해서 동일한 순위로 표시하고,
중복 순위 다음 값에 대해서는 중복 값 개수와 상관없이 순차적인 순위 값을 출력하도록 하는 함수 입니다.
SELECT EMPNO, EMPNAME, SALARY,
DENSE_RANK() OVER (ORDER BY SALARY DESC) AS DENSE_RANK
FROM EMPLOYEE;
EMPNO EMPNAME SALARY DENSE_RANK
----------- ------------ ---------- -----------
494 손흥민 1000 1
495 박지성 900 2
493 차범근 800 3
496 정우영 700 4
492 황희찬 500 5
495 이강인 500 5
496 이승우 400 6
493 송범근 300 7
492 조현우 250 8
(3) ROW_NUMBER
ROW_NUMBER 함수는 중복 값들에 대해서도 순차적인 순위를 표시하도록 출력하는 함수 입니다.
SELECT EMPNO, EMPNAME, SALARY,
ROW_NUMBER() OVER (ORDER BY SALARY DESC) AS ROW_NUMBER
FROM EMPLOYEE;
EMPNO EMPNAME SALARY ROW_NUMBER
----------- ------------ ---------- -----------
494 손흥민 1000 1
495 박지성 900 2
493 차범근 800 3
496 정우영 700 4
492 황희찬 500 5
495 이강인 500 6
496 이승우 400 7
493 송범근 300 8
492 조현우 250 9
RANK 함수
- 중복되는 등수 존재
- 중복 다음 값은 중복순위 + 중복값 개수
DENSE_RANK 함수
- 중복되는 등수 존재
- 중복 다음 값은 중복순위 + 1
ROW_NUMBER 함수
- 중복되는 등수 없음
Window함수는 다음과 같습니다.
https://take-it-into-account.tistory.com/23
728x90
728x90
'SQL > Oracle SQL' 카테고리의 다른 글
[sql/oracle] TO_DATE, TO_CHAR 비교 / 오류 원인(ORA-10858, ORA-01481) (0) | 2022.03.04 |
---|---|
[sql] JOIN 정리 (0) | 2022.01.12 |
[sql] DECODE 함수 (0) | 2022.01.10 |
[sql] INSTR 함수 (0) | 2022.01.07 |
[sql] SUBSTR 함수 (0) | 2022.01.07 |