日期:2014-05-16  浏览次数:20871 次

Oracle实现分页,求各位前辈给小弟详细的说一下,谢谢了。
如题,麻烦个位前辈详细的跟小弟说说,谢谢。

------解决方案--------------------
假设你1页是20条记录,那么显示第5页的代码如下:
SQL code

select * from (select t.*,rownum rn from t) where rn > 4 * 20 and rn <= 5 * 20

------解决方案--------------------
SQL code

  SELECT * FROM 
         (
       SELECT A.*, 
              ROWNUM RN 
        FROM (
              SELECT * FROM TABLE_NAME
              ) A 
       WHERE ROWNUM <= 40
         )
WHERE RN >= 21

其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。