database/oracle

[oracle] 게시판 페이징 처리하기 쿼리

labj 2014. 5. 22. 19:21

[oracle] 게시판 페이징 처리하기 쿼리


기본 테이블을 조회했는데

전체 카운트가 1000개라면

그중에서 1page에 30개씩 5page에 해당하는 데이터를 가져오려면

아래 쿼리문이 


SELECT * FROM (
    SELECT
        ROWNUM AS RNUM, A.*
    FROM (
        SELECT
            COL1
        FROM TB A
        WHERE A.ORD IN('4130')
    )A        
    WHERE ROWNUM <= (((1-1)*20) + 20)
    ORDER BY ROWNUM DESC
)
WHERE ROWNUM <= 20

ORDER BY RNUM ASC


아래처럼 변하면 됩니다.


SELECT * FROM (
    SELECT
        ROWNUM AS RNUM, A.*
    FROM (
        SELECT
            COL1
        FROM TB A
        WHERE A.ORD IN('4130')
    )A        
    WHERE ROWNUM <= (((5-1)*30) + 30)
    ORDER BY ROWNUM DESC
)
WHERE ROWNUM <= 30
ORDER BY RNUM ASC



[oracle] 게시판 페이징 처리하기 쿼리

'database > oracle' 카테고리의 다른 글

[oracle] 남은 날짜 계산하기  (0) 2014.09.01
[oracle] 해당 월의 주 번호 가져오기  (0) 2014.05.30
오라클10g설치후 메세지  (0) 2012.03.22
Table생성 스크립트 파일 뽑기  (0) 2012.03.22
오라클 문자집합 조회  (0) 2012.03.22