首页 > 数据库技术 > 详细

Oracle数据库排序后分页查询数据错误问题解决

时间:2020-04-26 20:13:07      阅读:83      评论:0      收藏:0      [点我收藏+]

一、问题描述:根据更新时间倒序排序然后分页查询数据,但是点击分页操作的时候,会出现数据重复看似没有操作的情况

技术分享图片

 

 

 

技术分享图片

 

 

 

二、问题错误原因分析

  分页查询的SQL语句:

1 1 select *
2 2  FROM (select rownum rn,tmp_tb.* 
3 3  FROM (select * FROM DB_ENTERPRISE WHERE 1=1 and del_flag=0 order by UPDATE_TIME desc) tmp_tb
4 4  WHERE rownum <= 1) 
5 5 WHERE rn >= 10;

 

 

 

  怎么分析都觉得没有错啊,通过网上查询才发现问题所在,参考地址:https://jingyan.baidu.com/article/7908e85ca2d929af491ad260.html

 

  由于我要排序的字段有大量导入数据的时间是一样的,所以导致无法区分

三、解决办法

  给排序的字段再加一个唯一字段进行排序,即可

  更新SQL语句:

 

1 select u.*
2  FROM (select rownum rn,tmp_tb.* 
3  FROM (select id, enterprise_name, enterprise_type, enterprise_domain, enterprise_province, enterprise_address, create_user_id, create_user_name, create_time, update_time, del_flag, ext1, ext2, ext3, ext4, ext5,ENTERPRISE_PROVINCE_ID
4  FROM DB_ENTERPRISE
5  WHERE 1=1 and del_flag=0 order by UPDATE_TIME desc,id) tmp_tb
6  WHERE rownum <= 21 )u
7  WHERE u.rn >= 10  ;

 

Oracle数据库排序后分页查询数据错误问题解决

原文:https://www.cnblogs.com/zyh-2017/p/12781637.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!