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컬럼을 기준으로 순번을 먹이는 예입니다. ※
SELECT (RANK() OVER(ORDER BY A)) ROWNUMS, A, B, C FROM ABC
정상적으로 출력되는 모습을 보실 수 있을 것입니다 ^^
FROM: https://jwklife.tistory.com/8 [인 생]