본문 바로가기

프로그래밍관련/DBMS

[Oracle]페이지 처리 : ROWNUM 활용

SELECT
    USERID, USERNAME
FROM
    (
    SELECT
        ROWNUM AS NUM, USERID, USERNAME
    FROM
        (
        SELECT
            USERID, USERNAME
        FROM
            USER
        WHERE
            USERID LIKE '%???%'
        ORDER BY
            USERNAME DESC
        )
    )
WHERE
    NUM >= 1 AND NUM <= 10

------
ROWNUM 으로 행번호를 부여하기 이전에 필요한 WHERE조건을 만족시키는 쿼리를 호출해야 함.
ROWNUM으로는 필요한 갯수 만큼만 가져오도록...
같은 WHERE조건에 대한 COUNT값으로 전체 결과 값과 페이지별 결과 크기(LIST SIZE)를 계산하여,
요청 받은 페이지에 대한 ROWNUM값을 계산하여 쿼리를 날려줘야함.