본문 바로가기
Database/Oracle

[Oracle] 조회순서 매기는법 - ROWNUM

by Youngs_ 2022. 3. 4.

1. ROWNUM 키워드 이용하는 방법

 - 조회된 순서되로 순번을 매긴다.

 

SELECT ROWNUM , a.*   
  FROM (조회할 테이블 or 쿼리) a

 

- ORDER BY 를 사용하면 순번이 뒤섞이므로 정렬된 서브쿼리 결과에 ROWNUM 을 매겨야 한다.

 

SELECT ROWNUM      
     , x.*   
  FROM ( SELECT a.*            
           FROM emp a           
          ORDER BY a.ename        
        ) x

 

 

2. ROW_NUMBER() 함수를 사용하는 방법

 - ORDER BY 된 결과에 순번을 매길때에는 ROWNUM 보다 ROW_NUMBER() 함수가 더 편하다.

 

SELECT ROW_NUMBER() OVER(ORDER BY a.job, a.ename) row_num      
     , a.*   
  FROM emp a  
 ORDER BY a.job, a.ename

 

 - 그룹별(PARTITION)로 순번을 따로 부여할 수 있다.

 

SELECT ROW_NUMBER() OVER(PARTITION BY a.job ORDER BY a.job, a.ename) row_num      
     , a.*   
  FROM emp a  
 ORDER BY a.job, a.ename

 

댓글