by grape111 [SQL Query] 오라클 rownum query [2020.07.01 14:14:30]
안녕하세요
오라클 쿼리에서 정렬순서의 번호를 매겨서 특정 번호를 가져 오는 방법이 있나요?
예를 들어
select * from aaa a where a.type='TYPE_A;
의 값이 500 만행 정도됩니다.
하려고 하는 작업은
해당 500만 행을 자바jdbc를 이용한 main 함수에서 resultset으로 가져와서
다른 오라클database에 전부 insert 시키는 작업을 하려고 하는데요..
내용이 많아서
select * from aaa a where a.type='TYPE_A order by a.col2 desc
로 order by 추가해서
1-10000행
10001-20000행
..
..
499001- 5000000행
이렇게 500번 해서 가져오려고 합니다.
그런데 행을 번호매기는 것과 해당 번호범위를 설정하는 쿼리 문법이 어떻게 되는지 궁금합니다.
혹시 알고 계시면 답변부탁드립니다.
ROW_NUMBER 를 이용하시면 됩니다.
다만, 정렬기준 항목이 중복 가능 항목이라면? 원치 않는 결과를 초래할 수 있습니다.
1페이지에 나왔던 자료가 2페이지에 다시 나오고, 1페이지에 안나왔던 자료가 누락되는 현상 발생.
유일키 항목을 정렬기준에 추가하세요.