Oracle分页操作的几种方法

第一种:    

SELECT * FROM  
  (SELECT A.*, ROWNUM RN  FROM 
  (SELECT  TEST_USER_NAME,TEST_DATE
   from PBS_TEST_REPORT order by test_date desc) 
   A WHERE ROWNUM <= 10 )
   WHERE RN >0

分页参数封装  

   //currentCount 当前页显示条数
   //currentPage  当前页
   //strat 上一页最后一条数据的序列号
   int start = (currentPage - 1) * currentCount;
   //limit 当前页最后一条数据的序列号
   int limit = currentPage * currentCount;

按照日期排序多一层嵌套

若不进行排序嵌套,ROWNUM按照插入时的顺序进行排序

SELECT A.* FROM  
(SELECT TEST_USER_NAME,TEST_DATE,ROWNUM RN
  from PBS_TEST_REPORT  
    WHERE ROWNUM <= 10  
    order by test_date desc) A
   WHERE RN >0

第二种:

SELECT * FROM  
( SELECT A.*, ROWNUM RN  FROM 
 (SELECT TEST_USER_NAME,TEST_DATE from PBS_TEST_REPORT order by test_date desc) 
   A  WHERE ROWNUM BETWEEN 1 AND 10 )

分页参数封装

   //currentCount 当前页显示条数
   //currentPage  当前页
   //strat 当前页第一条数据的序列号
   int start = (currentPage - 1) * currentCount +1;
   //limit 当前页最后一条数据的序列号
   int limit = currentPage * currentCount;

原文地址:https://www.cnblogs.com/leilong/p/8566465.html