데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
웹프로그래밍 배우고있는 학생입니다.
제품 목록 리스트를 코딩하는중인데요 페이징 기능이 필요하여
rownum 을 이용 최대한 검색을 빠르개 해봤습니다..
쿼리는 이렇게 짜봤습니다..
select * from
(select
rownum rn,
GOD_CODE,
GOD_NAME,
GOD_SAFTESTOCK,
GOD_PRICE,
(GOD_PRICE*GOD_STATE)AS HAB,
GOD_STOCK,
GOD_KIND,
GOD_STATE
from GODMATEREAL
WHERE GOD_STATE=1
AND rownum<=10
where rn>0 ;
쿼리문은 잘작동됩니다 전체 목록은 50개 가 넘지만 처음 리스트에는 10개만 출력하면 되는데 10개만 검색하여
10개만 출력하고 2번페이지에서는 20개만 검색하여 10개만 출력 합니다 나름 흡족하고있는데 문제가 발생하였습니다.
신규 등록 제품이 목록 마지막 부분에 들어가더군요 .. 이부분을 생각을 하지 못했습니다
정렬 하고 하는 방법은 압니다 하지만 그럴경우 50개가 넘는 모든 값을 다 검색하더군요 ..
하여 질문입니다.
1. select 절에서 마지막 행부터 검색하는 방법이있나요??(오라클기준...)
2. 1번이안된다면 마지막 행 부터 검색하는 방법은 어떤것이있나요?
고수님들의 답변 부탁드립니다 ㅠ
Comment 1
-
건우아빠
2018.11.19 15:36
오라클 기준 https://blog.naver.com/elriot/221359040835 참고
하심 해결 되실듯...