본문 바로가기

DataBase

SQL 랭크 매기기

SQL 랭크 매기기


사원 테이블에서 각 사원에 급여(SAL)가 높은 순서대로 순위를 부여 했을 때 6~10등인 사람을 순위대로 출력하려고 할 때

select * from (select EMP.* , ROW_NUMBER() OVER (ORDER BY SAL DESC) as RN  from EMP) where RN BETWEEN 6 AND 10;

SQL> select * from (select EMP.* , ROW_NUMBER() OVER (ORDER BY SAL DESC) as RN from EMP) where RN BETWEEN 6 AND 10;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO RN
---------- -------------------- ------------------ ---------- -------- ---------- ---------- ---------- ----------
7499 ALLEN SALESMAN 7698 81/02/20 1600 300 30 6
7844 TURNER SALESMAN 7698 81/09/08 1500 0 30 7
7934 MILLER CLERK 7782 82/01/23 1300 10 8
7521 WARD SALESMAN 7698 81/02/22 1250 500 30 9
7654 MARTIN SALESMAN 7698 81/09/28 1250 1400 30 10


'DataBase' 카테고리의 다른 글