博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle中order by造成分页错误
阅读量:5869 次
发布时间:2019-06-19

本文共 627 字,大约阅读时间需要 2 分钟。

问题:今天在工作中,在service中调用分页查询列表接口的时候,返回的到页面的数据中总是存在缺失的数据,还有重复的数据。

分析:select * from (select ROWNUM rn,t.* from (select * from student order by class) t where ROWNUM <![CDATA[<]]>#{1.endIndex}) where rn <![CDATA[>=]]>#{1.startIndex}

当endIndex为3和为5的时候ROWNUM发生了变化

id

student

class

rownum

1

zhao

2

1

2

qian

2

2

3

li

2

3

 

id

stuent

class

rownum

1

zhao

2

1

3

li

2

2

4

song

2

3

2

qian

2

4

5

yang

2

5

在上表中qian 和li 的rownum发生了变化

总结:oracle分页语句中:

1 不存在order by 则系统根据rowid来排序

2 若存在order by 则order by 后面的限制的列必须要能确定唯一,或者最小粒度的列能确定唯一(如id列)如上class都相同,则可以加上

order by class,id   或者  order by class,rowid

转载于:https://www.cnblogs.com/songzhen/p/10793186.html

你可能感兴趣的文章
MyEclipse8.6 安装SVN的两种方法
查看>>
switch命令大全
查看>>
Login "HP BladeSystem Onboard Administrator"
查看>>
Qt 读写 xml
查看>>
MyBatis如何防止SQL注入
查看>>
基于AJAX用户注册信息异步校验
查看>>
hive和关系型数据库RDBMS的异同
查看>>
chattr,lsattr命令使用详解
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
cisco packet tracer 站点到站点 基于ASA5505 IPSEC *** 实验
查看>>
我的友情链接
查看>>
学习反射技术(2)
查看>>
java log4j log日志文件名(+日期标记)
查看>>
将博客搬至CSDN:http://blog.csdn.net/u011405562
查看>>
如何正确安全地刹车六种刹车技巧面面观
查看>>
我的友情链接
查看>>
RocketMQ的一些特性
查看>>
Nginx 和 Apache 各有什么优缺点?
查看>>
Nginx配置nginx.conf的详细说明
查看>>