데이터 순위로 출력

2023. 12. 30. 03:59DBMS/SQLQuery

반응형
--RANK() 순위 출력 OVER(출력 데이터 정렬) 월급이 높은 순서로 순위출력 순위 누적 바로 2등 출력 DENSE_RANK

select ename, job,sal, rank() over (order by sal desc)순위
from emp
where job in('ANALYST','MANAGER');



select ename, sal, job , rank() over (partition by job order by sal desc) as 순위
from emp;
--직업별로 묶어서 월급 순위를 부여 order by 앞에 partition by job

--DENSE_RANK
select ename, job,sal, RANK() over (order by sal desc) as RANK,
                       DENSE_RANK() over (order by sal desc) as DENSE_RANK 
from emp
where job in('ANALYST','MANAGER');


select ename, job,sal, DENSE_RANK() over (PARTITION BY job ORDER BY sal desc) as DENSE_RANK 
from emp
where hiredate between to_date('1981/01/01','RRRR/MM/DD')
                and to_date('1981/05/05','RRRR/MM/DD');



--월급이 2850인 사원이 사원 테이블에서 월급 순위가 어떻게 되는지 출력하는 쿼리
select DENSE_RANK(2850) within group (order by sal desc) as 순위
from emp;

--전체 사원중 몇번째로 입사를 한 것인지 순위를 보여줌
select DENSE_RANK('93/11/10') within group (order by hiredate ASC) 순위
from emp;
반응형

'DBMS > SQLQuery' 카테고리의 다른 글

집계 함수와 윈도우 함수  (0) 2024.03.03
NVL NVL2  (0) 2024.02.24
행 제한절 FETCH FIRST OFFSET  (0) 2024.01.02
sql 몬테카를로 알고리즘  (0) 2023.12.31
sql 피타고라스 정리 문제  (0) 2023.12.30