ROWNUM을 활용하여 간단하게 순번을 지정 할 수 있기 때문에 간편하게 순번들을 먹일것입니다.
(EX) "ABC" TABLE
A |
B |
C |
TEST12 |
TESTTEST12 |
TESTTESTTEST12 |
TEST123 |
TESTTEST123 |
TESTTESTTEST123 |
-> SELECT ROWNUM, A, B, C FROM ABC
ROWNUM |
A |
B |
C |
1 |
TEST12 |
TESTTEST12 |
TESTTESTTEST12 |
2 |
TEST123 |
TESTTEST123 |
TESTTESTTEST123 |
하지만...
ORDER BY를 사용한다면 상황은 달라집니다.
왜냐?
ROWNUM이 ORDER BY 보다 우선순위가 앞서기 때문이죠. (ROWNUM으로 순번 먹히고 ORDER BY로 재정렬..)
위 상황에서 대처하는 방법
=> RANK 함수를 활용하여 순번을 임의로 정의해주면 됩니다.
※ A컬럼을 기준으로 순번을 먹이는 예입니다. ※
(EX) SELECT (RANK() OVER(ORDER BY A)) ROWNUMS, A, B, C FROM ABC
정상적으로 출력되는 모습을 보실 수 있을 것입니다 ^^
'DATABASE > ORACLE' 카테고리의 다른 글
DDL : CREATE & ALTER & TRUNCATE & DROP (0) | 2016.12.21 |
---|---|
VIEW(뷰) & SEQUENCE(시퀀스) (0) | 2016.12.21 |
Join (0) | 2016.12.21 |
[ORACLE] 오라클 테이블 컬럼 추가/수정/삭제/이름변경 하는 방법(ALTER 테이블 ADD/MODIFY/DROP/RENAME) (3) | 2016.03.07 |
토드(Toad for oracle)에서 한글 깨짐 현상 없애는 방법 (0) | 2016.03.04 |