您当前的位置: 首页 > 数据库教程 > Oracle教程 > Oracle分页查询排序数据重复问题

Oracle分页查询排序数据重复问题

作者:不详 来源:网络 发布时间: 2014-08-23 20:30 点击:
在项目开发过程中大量的使用了分页查询,当想要让数据按照日期排序时,出现了很多重复的数据出现。 造成这一问题出现的原因是:在数据中,日期的值不是唯一的。我们知道 Oracle的分页查询是没有进行任何排序操作的,Oracle是顺序的从数据块中读取符合条件的数据返回到客

Oracle分页查询排序数据重复问题

  在项目开发过程中大量的使用了分页查询,当想要让数据按照日期排序时,出现了很多重复的数据出现。 造成这一问题出现的原因是:在数据中,日期的值不是唯一的。我们知道

  Oracle的分页查询是没有进行任何排序操作的,Oracle是顺序的从数据块中读取符合条件的数据返回到客户端。而Oracle的排序算法不具有稳定性,也就是说,对于键值相等的

  数据,这种算法完成排序后,不保证这些键值相等的数据保持排序前的顺序。

  解决这一问题的方法就是在后边增加一个唯一性列,比如主键,问题解决。

  select * from

  (

  select a.*, rownum rn from

  ( select * from user u order by u.createdate desc, u.id desc ) a

  where rownum <=20

  ) b

  where b.rn >=0
分享到:
本文"Oracle分页查询排序数据重复问题"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4