码迷,mamicode.com
首页 > 数据库 > 详细

oracle分页语句

时间:2015-06-08 13:02:53      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

分页语句:

select z.* from(select x.*,rownum members from reg_user x where rownum<=10) z where z.members>0

 

 

1 获取总页数

 

Sql代码  01.SELECT DECODE(mod(COUNT(*),100),0,COUNT(*)/100,TRUNC(COUNT(*)/100,0)+1)  02.AS  pages FROM XZQH    其中XZQH是表名,可以换成别的表格或者与别的表格相连或者加上查询条件....总之可以把XZQH换成FROM后的一切东西.

 

100是每页显示的记录数,换成你想要的!!!

 

生成结果是具有pages列的一个表格.可以用resultSet.getInt("pages")获得

 

2 获取特定的记录数据

 

Sql代码  1.SELECT x.* from (  2.     SELECT z.*,rownum numbers from(  3.          select * from XZQH where XXX order by XXX) z  4.     where rownum<101) x   5.where x.numbers>90   

 

或者: Sql代码   1.SELECT x.* from (SELECT z.*,rownum numbers from XZQH z where rownum<101) x 2.     where x.numbers>90 

 

其中XZQH的含义与上述一样,可以换成你任何想要的条件和表连接 其中101和90是指定界限的数字,拿此例来说,是取出第90-----100条数据.

 

 

 

也可以直接用分析函数

 

Sql代码  01.SELECT X.*   02.FROM (  03.    SELECT   04.          ROW_NUMBER() OVER(order by XXX) AS numbers  05.        , XZQH.*  06.    FROM XZQH  07.    WHERE XXX  08.) X  09.WHERE X.numbers < 101   10.    AND X.numbers > 90  11.

 

不用分析函数你这个到1万条以后翻页很慢,用分析函数最后一页很慢。用哪种方式要看系统需求了,如果大多数情况下只是浏览前面的数据,就加hint first_row

 

oracle分页语句

标签:

原文地址:http://www.cnblogs.com/dengjiali2015/p/4560533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!