AJAX, WEB 2.0 SEO, php, memcache, linux, centos6, mysql, mongodb, by VINS
Android, Oracle, MS-SQL, PHP, JAVA, XML, C#, php, memcache, linux, centos6, mysql, mongodb
오라클 8i이상에서 한번의 쿼리로 페이징
페이징 처리를 하려면 전체
Row
수와
order by
한 부분 중 가져올 부분을 잘라서 가져와야 한다
.
그래서 다음의 쿼리를 이용하면 된다
.
단 아래의
Query
는
Oracle 8i
이상에서만 작동한다
.
SELECT * FROM
( SELECT a.*, rownum+rnum-1 as total_rows
FROM ( SELECT a.*, rownum rnum
FROM (
원하는
ORDER BY
절이
포함된
SELECT
쿼리
) a
ORDER BY rnum DESC ) a
ORDER BY rnum )
WHERE rnum BETWEEN ? AND ?
예
) 10
개의
Row
만 가져오는
Query
SELECT * FROM
( SELECT a.*, rownum+rnum-1 as total_rows
FROM ( SELECT a.*, rownum rnum
FROM (
SELECT column1, column2
FROM table
WHERE column like '%'
ORDER BY column DESC
) a
ORDER BY rnum DESC ) a
ORDER BY rnum )
WHERE rnum BETWEEN 1 AND 10
최근 게시물
이전 게시물
홈