SSISO Community

시소당

rank()를 이용한 rownum 대체하기 - 오라클

select rownum, empno, ename, job, deptno,  sal from scott.emp order by sal desc
쿼리를 이용하면 아래와 같이 ROWNUM이 뒤죽박죽으로 나오게 된다.
 

 

때문에 in line view를 이용해서 정렬하곤 한다.

 

select rownum , empno, ename, job, deptno, sal
from
 (select rownum rn, empno, ename, job, deptno,  sal from scott.emp order by sal desc)

 


 

 


 

 

이것을 rank()를 쓰게 되면 다음 처럼 할 수 도 있다. 기껏해야 쿼리 한줄이지만, 컬럼이 많을때는

유용할 수도...

 

select rank() over(order by sal desc) sal_rank, empno, ename, job, deptno, sal
from scott.emp
order by sal desc



출처 : http://blog.naver.com/cookie_00?Redirect=Log&logNo=80032756447

1762 view

4.0 stars