* ROWNUM

조회된 순서대로 순번을 매기는 명령어 입니다.

SELECT

ROWNUM

, A.*

FROM TEST_TABLE A

이런식으로 사용하면 테이블전체를 조회하면서 순번이 등록됩니다.

보통 ORDER BY를 사용해 원하는 컬럼으로 정렬후에 ROWNUM을 매기는데 예시를 보면

SELECT

ROWNUM

, A.*

FROM TEST_TABLE A

ORDER BY A.COLUMN1

처음하시는 분들이라면 이런식으로 정렬하시게 됩니다. 하지만 이럴 경우에는 ORDER BY와 ROWNUM을 같이 사용하여 순번이 1,2,3,4...이렇게 나오지 않고 순번이 뒤섞여서 나오게 됩니다.

그렇기 때문에 서브쿼리로 먼저 정렬하고 나서 순번을 매겨야 원하는 대로 값이 출력되게 됩니다.

SELECT

ROWNUM

, X.*

FROM ( SELECT Y.*

FROM TEST_TABLE Y

ORDER BY Y.COLUMN1

) X

이런식으로 작성해주시면 됩니다

감사합니다

 
LIST

+ Recent posts