分页之二_Oracle

-- 分页 
-- 参考: http://blog.sina.com.cn/s/blog_8604ca230100vro9.html
语法:
pageSize :  每页的记录数
pageNumber: 第几页

SELECT t3.*
FROM (
      SELECT t2.*, ROWNUM rowno
      FROM (  
           SELECT t.*
           FROM table_name t
           ORDER BY order_column ASC
           ) t2
      WHERE ROWNUM <= pageNumber * pageSize
     ) t3
WHERE t3.rowno > pageNumber * (pageSize - 1);

-- pageSize = 5 
-- pageNumber = 1
SELECT t2.*
FROM (
      SELECT t.*, ROWNUM rowno
      FROM (  
           SELECT u.*
           FROM users u
           ORDER BY userid ASC
           ) t
      WHERE ROWNUM <= 5
     ) t2
WHERE t2.rowno > 0;

-- pageSize = 5 
-- pageNumber = 2
SELECT t2.*
FROM (
      SELECT t.*, ROWNUM rowno
      FROM (  
           SELECT u.*
           FROM users u
           ORDER BY userid ASC
           ) t
      WHERE ROWNUM <= 10
     ) t2
WHERE t2.rowno > 5;

-- pageSize = 5 
-- pageNumber = 3
SELECT t2.*
FROM (
      SELECT t.*, ROWNUM rowno
      FROM (  
           SELECT u.*
           FROM users u
           ORDER BY userid ASC
           ) t
      WHERE ROWNUM <= 15
     ) t2
WHERE t2.rowno > 10;


你可能感兴趣的:(oracle,分页)