首页 / ORACLE / Oracle分页问题
Oracle分页问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle分页问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2793字,纯文字阅读大概需要4分钟。
内容图文
通过Debug调试,发现第一页查询到的数据没有问题,第二页时,查不到数据!
第一页时,控制台打印的sql语句:
SELECT OBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY FROM ( SELECT m.*,rownum row_id FROM (SELECT OBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY FROM WKF_BUSINESS_CONFIG ) m WHERE rownum >= 1) where row_id < 26
第二页时,控制台打印的sql语句:
SELECT OBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY FROM ( SELECT m.*,rownum row_id FROM (SELECT OBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY FROM WKF_BUSINESS_CONFIG ) m WHERE rownum >= 26) where row_id < 51
通过分析和查询oracle分页的知识,发现是SQL语句有问题!
不能对ROWNUM使用>(大于1的数值)、>=(大于或等于1的数值)、=(大于或等于1的数值),否则无结果
-- 所以直接用只能从1开始
-- rownum >10 没有记录,因为第一条不满足去掉的话,第二条的rownum又成了1,所以永远没有满足条件的记录。
正好,查询第二页的时候,上面的sql语句犯了这个问题!
既然不能>=(大于或等于1的数值),那我就让rownum<大于1的数!
SELECT OBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY FROM ( SELECT m.*,rownum row_id FROM (SELECT OBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY FROM WKF_BUSINESS_CONFIG ) m WHERE rownum <51) where row_id >= 26
将sql语句改成这样时,按照要求可以查询到数据!
既然遇到了Oracle分页查询的问题,正好复习下Oracle分页的相关知识!
在Mysql中,分页查询很简单! 分页查询使用的是limit关键字进行查询。它后面有两个参数
第一个参数是起始的位置,第二个参数是每页需要显示的条目数。
举例:商品表中有10条记录,现在需要进行分页显示,每页显示3条数据。现在需要查看第二页的数据。那么应该使用的sql语句是:
select * from product limit 3,3; 第一个参数计算的公式为:(查询的页数-1)*每页显示条目数 即 (2-1)*3=3
在Oracle中分页就没有那么简单!Oracle中是通过rownum实现分页查询的!
不能对ROWNUM使用>(大于1的数值)、>=(大于或等于1的数值)、=(大于或等于1的数值),否则无结果
所以直接用只能从1开始
rownum >10 没有记录,因为第一条不满足去掉的话,第二条的rownum又成了1,所以永远没有满足条件的记录。
select * from student where rownum>=1;
如果想要用rownum不从1开始,需按下面方法使用
select a1.* from (select student.*,rownum rn from student) a1 where rn >5
分页查询一
select * from (select a1.*,rownum rn from (select * from student) a1 where rownum <=5) where rn>=2;
分页查询二
select a1.* from (select student.*,rownum rn from student where rownum <=5) a1 where rn >=3;
分页查询三
select a1.* from (select student.*,rownum rn from student) a1 where rn between 3 and 5;
Oracle分页问题
标签:完成 nbsp rom oracle conf rownum class student ora
本文系统来源:https://www.cnblogs.com/guodong-wang/p/8124352.html
内容总结
以上是互联网集市为您收集整理的Oracle分页问题全部内容,希望文章能够帮你解决Oracle分页问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。