order by 导致分页数据重复问题
order by 导致分页数据重复问题
漂泊者及其影子 发表于3年前
order by 导致分页数据重复问题
  • 发表于 3年前
  • 阅读 2179
  • 收藏 2
  • 点赞 0
  • 评论 6

【腾讯云】如何购买服务器最划算?>>>   

摘要: 我们写分页的时候为了使得数据能够按日期倒序排序可能会在分页的基础上加上个order by 时间,由此可能会出现第一页和第二页数据重复的问题

此情况出现的原因是因为我们所order by的时间相同导致的  ,  当 order by的时间相同的时候 系统对数据的排序可能变得随机化,即一会儿这条数据在前面,一会儿这条数据在后面了 ,所以 当翻页的时候我们很容易便看到了重复的数据,所以在分页的时候使用oerder by的时候最后在目标排序字段的基础上加上一个 有办法唯一的字段对 数据进行排序 



一、 oracle 分页  当年在学校怎么也学不会的东西,现在突然变得那么如此简单,这便是成长

 select  * from 
        (select rownum rn, p.* from product p)
        
        where rn between 1 and 9


二、 order by 时间数据重复问题的正确处理手段

select up_time, id  from 
        (select rownum rn, p.* from product p)
        
        where rn between 1 and 9  

order by up_time desc ,order by id desc



标签: sql order by 分页
共有 人打赏支持
粉丝 41
博文 118
码字总数 72105
评论 (6)
crazymus
order by id 不就ok了~
漂泊者及其影子

引用来自“crazymus”的评论

order by id 不就ok了~

业务需要你按时间排序啊,时间是可能相同的,应先order by time desc, order by id desc
crazymus

引用来自“锋叔子”的评论

引用来自“crazymus”的评论

order by id 不就ok了~

业务需要你按时间排序啊,时间是可能相同的,应先order by time desc, order by id desc

喔,我想得太简单了~
335787833
终于找到解决方法了,非常感谢楼主
335787833
终于找到解决方法了,非常感谢楼主
335787833
终于找到解决方法了,非常感谢楼主
×
漂泊者及其影子
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: