RANK()
→ 등수(순위)를 반환하는 함수
SELECT EMPNO "사원번호", ENAME "사원명", DEPTNO "부서번호", SAL "급여" , RANK() OVER(ORDER BY SAL DESC) "전체급여순위" -- (내림차순으로 순위) FROM EMP; --==>> /* 7839 KING 10 5000 1 7902 FORD 20 3000 2 : 7900 JAMES 30 950 13 7369 SMITH 20 800 14 */
PARTITION BY
SELECT EMPNO "사원번호", ENAME "사원명", DEPTNO "부서번호", SAL "급여" , RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL DESC) "부서별급여순위" , RANK() OVER(ORDER BY SAL DESC) "전체급여순위" FROM EMP; --==>> /* 7839 KING 10 5000 1 1 7902 FORD 20 3000 1 2 7788 SCOTT 20 3000 1 2 7566 JONES 20 2975 3 4 7698 BLAKE 30 2850 1 5 7782 CLARK 10 2450 2 6 7499 ALLEN 30 1600 2 7 7844 TURNER 30 1500 3 8 7934 MILLER 10 1300 3 9 7521 WARD 30 1250 4 10 7654 MARTIN 30 1250 4 10 7876 ADAMS 20 1100 4 12 7900 JAMES 30 950 6 13 7369 SMITH 20 800 5 14 */
ORDER BY
SELECT EMPNO "사원번호", ENAME "사원명", DEPTNO "부서번호", SAL "급여" , RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL DESC) "부서별급여순위" , RANK() OVER(ORDER BY SAL DESC) "전체급여순위" -- (내림차순으로 순위) FROM EMP ORDER BY DEPTNO; --==>> /* 7839 KING 10 5000 1 1 7782 CLARK 10 2450 2 6 7934 MILLER 10 1300 3 9 7902 FORD 20 3000 1 2 7788 SCOTT 20 3000 1 2 7566 JONES 20 2975 3 4 7876 ADAMS 20 1100 4 12 7369 SMITH 20 800 5 14 7698 BLAKE 30 2850 1 5 7499 ALLEN 30 1600 2 7 7844 TURNER 30 1500 3 8 7654 MARTIN 30 1250 4 10 7521 WARD 30 1250 4 10 7900 JAMES 30 950 6 13 */
DENSE_RANK()
→ 서열을 반환하는 함수
: 앞에 1등이 둘이더라도 그다음은 3등이 아니라 2등임
SELECT EMPNO "사원번호", ENAME "사원명", DEPTNO "부서번호", SAL "급여" , DENSE_RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL DESC) "부서별급여순위" , DENSE_RANK() OVER(ORDER BY SAL DESC) "전체급여순위" -- (내림차순으로 순위) FROM EMP ORDER BY DEPTNO; --==>> /* 7839 KING 10 5000 1 1 7782 CLARK 10 2450 2 5 7934 MILLER 10 1300 3 8 7902 FORD 20 3000 1 2 7788 SCOTT 20 3000 1 2 7566 JONES 20 2975 2 3 7876 ADAMS 20 1100 3 10 7369 SMITH 20 800 4 12 7698 BLAKE 30 2850 1 4 7499 ALLEN 30 1600 2 6 7844 TURNER 30 1500 3 7 7654 MARTIN 30 1250 4 9 7521 WARD 30 1250 4 9 7900 JAMES 30 950 5 11 */

부족하거나 잘못된 내용이 있을 경우 댓글 달아주시면 감사하겠습니다.
이 글에 부족한 부분이 존재할 경우 추후에 수정될 수 있습니다.
https://www.notion.so/RANK-1-83e092cf990a4e62beb871976badbe43https://www.notion.so/RANK-1-83e092cf990a4e62beb871976badbe43
'SQL > Oracle' 카테고리의 다른 글
26. ROLLUP, GROUPING (0) | 2022.03.12 |
---|---|
25. 그룹 함수 (0) | 2022.03.12 |
23. VIEW (0) | 2022.03.12 |
22. CASE 구문(조건문, 분기문) (0) | 2022.03.12 |
21. 변환 함수 (0) | 2022.03.12 |