java oracle分页查询语句_oracle 分页语句

java oracle分页查询语句_oracle 分页语句通过Debug调试,发现第一页查询到的数据没有问题,第二页时,查不到数据!第一页时,控制台打印的sql语句:SELECTOBJ_NAME,OBJ_ATTRIBUTE_NAME,ATTRIBUTE_TYPE,DES,STS,PRIORITYFROM(SELECTm.*,rownumrow_idFROM(SELECTOBJ_NAME,OBJ_ATTRIBUTE_NAME,ATT…

大家好,又见面了,我是你们的朋友全栈君。

通过Debug调试,发现第一页查询到的数据没有问题,第二页时,查不到数据!

第一页时,控制台打印的sql语句:

48304ba5e6f9fe08f3fa1abda7d326ab.png

SELECTOBJ_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 FROMWKF_BUSINESS_CONFIG ) m

WHERE rownum >= 1)

where row_id < 26

48304ba5e6f9fe08f3fa1abda7d326ab.png

第二页时,控制台打印的sql语句:

48304ba5e6f9fe08f3fa1abda7d326ab.png

SELECTOBJ_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 FROMWKF_BUSINESS_CONFIG ) m

WHERE rownum >= 26)

where row_id < 51

48304ba5e6f9fe08f3fa1abda7d326ab.png

通过分析和查询oracle分页的知识,发现是SQL语句有问题!

不能对ROWNUM使用>(大于1的数值)、>=(大于或等于1的数值)、=(大于或等于1的数值),否则无结果

— 所以直接用只能从1开始

— rownum >10 没有记录,因为第一条不满足去掉的话,第二条的rownum又成了1,所以永远没有满足条件的记录。

正好,查询第二页的时候,上面的sql语句犯了这个问题!

既然不能>=(大于或等于1的数值),那我就让rownum

48304ba5e6f9fe08f3fa1abda7d326ab.png

SELECTOBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY

FROM( SELECT m.*,rownum row_id

FROM(SELECTOBJ_NAME, OBJ_ATTRIBUTE_NAME, ATTRIBUTE_TYPE, DES, STS, PRIORITY

FROMWKF_BUSINESS_CONFIG ) m

WHERE rownum <51)

where row_id >= 26

48304ba5e6f9fe08f3fa1abda7d326ab.png

将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;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140167.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WinRAR去广告心得

    WinRAR去广告心得学习winAPI函数CreateWindow函数 软件创建窗口分为1首先注册2开始创建3显示分别有各自函数形成 还要有消息传递机制每个窗口有自己的类注意类函数参数问题   Winrar5.4去广告首先下断创建窗口函数进而多次运行暂停知道找到广告出现的窗口class追踪函数入口ret掉注意堆栈平衡

    2022年5月23日
  • Java集合List用法总结

    Java集合List用法总结转自:https://www.jianshu.com/p/25aa92f8d681Java集合作为一个Developer,Java集合类是我们在工作中运用最多的、最频繁的类。相比于数组(Array)来说,集合类的长度可变,更加适合于现代开发需求;Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象。在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大。在Java中,集合类通常存在于java.util包中。Java集合主要由2大体系构成,分别是Co

    2022年7月7日
  • MySql数据库基本select查询语句练习题,初学者易懂。

    MySql数据库基本select查询语句练习题,初学者易懂。MySQL数据库的基本查询语句题目:

    2022年5月8日
  • 分布式架构设计之电商平台

    分布式架构设计之电商平台何为软件架构?不同人的答案会有所不同,而我认为一个好的软件架构除了要具备业务功能外,还应该具备一定的高性能、高可用、高伸缩性及可拓展等非功能需求。而软件架构是由业务架构和技术架构两部分组成,因为有了业务结构才会催生出软件架构,进而来满足业务上的需求,所以,在做软件架构设计时,需要分为业务架构设计和技术软件架构设计,二者不可分离哦!那么,接下来就以本人实际工作中的电商平台为例,进行说明电商平台架构设计,因为不同行业产品系统不同业务不同,而催生的系统软件的实现要求及架构设计就不同了!

    2022年6月29日
  • moxa串口服务器的配置(波特率如何设置)

    MOXA串口服务器产品配置说明附图.doc第一章:准备工作准备工作我们用一条交叉网线把NPort5110和PC机的网口连接起来,并把NPort上电。首先,打开控制面板,网络连接。在本地连接上点右键,选择属性。双击进入Internet协议(TCP/IP),点击“使用下面的IP地址”写入IP地址和子网掩码,记住要和NPORT的IP地址在同一子网段内。如NPORT默认IP为192.168…

    2022年4月9日
  • mvc框架流程_知识框架怎么做

    mvc框架流程_知识框架怎么做最简单的CI模型:注意:模型需要用到数据库配置文件在appcation/config.php这里我们要用到数据库,需要将databases.php中的相关参数填写一下,具体不再赘述。直接进入主题:MVC:1、首先谈“M”模型CI中的模型存放在application/models文件夹里命名规则是:类名_model.php文件

    2022年10月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号