[ORACLE] 오라클 조회 순번 매기는 방법~HR예제로 로우넘 실습~(로우넘버 사용방법)_PARTITION_-How to sequence oracle lookups-+ROWNUM, ROW_NUMBER()+

 + 오라클 조회 순번 매기는 방법 : 로우넘 사용법 (HR예제)


1. ROWNUM 사용방법

- 조회된 순서대로 순번을 매김.

SELECT 

ROWNUM

, a.*

FROM EMPLOYEES a;



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

SELECT 
    ROWNUM
    , x.*
FROM (
            SELECT 
                a.*
    FROM EMPLOYEES a
            ORDER BY a.FIRST_NAME
) x;



2. ROW_NUMBER() 함수 사용방법

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

SELECT 
    ROW_NUMBER() OVER(ORDER BY a.JOB_ID, a.FIRST_NAME) row_num
    , a.*
FROM EMPLOYEES a
ORDER BY a.JOB_ID, a.FIRST_NAME;



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

SELECT 
    ROW_NUMBER() OVER(PARTITION BY a.JOB_ID ORDER BY  a.JOB_ID, a.FIRST_NAME) row_num
    , a.*
FROM EMPLOYEES a
ORDER BY a.JOB_ID, a.FIRST_NAME;


출처 : 

https://gent.tistory.com/170

댓글

T O P