关于 Oracle分页数据重复的问题

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

先说问题吧。最近在测试一个新的模块,发现列表数据的前三页数据竟然是一样的。第一反应是 pageNo 的问题,debug一看,pageNo是正确的,然后一层层debug下去,所有参数都是正确的哇。难道是SQL的问题? SQL是hibernate自动生成的,我参数设置对了应该不会有问题。不过还是拿出来看看吧,把 SQL 复制出来,把对应的参数 设置进去,然后运行 SQL,卧槽!还真是 SQL 的问题!

select * from ( select row_.*, rownum rownum_ from ( select ..... order by xxx  ) row_ where rownum <= 20) where rownum_ > 15.select * from ( select row_.*, rownum rownum_ from ( select .....  order by xxx) row_ where rownum <= 25) where rownum_ > 20.

上面两条 SQL 查询出来的数据是一模一样的! 只是rownum不一样而已。直觉告诉我 问题出在 rownum上,和代码无关。上网查了一下,找到了答案:http://lelong.iteye.com/blog/1931159

大概意思就是说:oracle查询的时候,如果没有指定排序条件(即order by),就是根据物理存储的位置顺序取出来,rownum是根据物理存储的位置顺序对查询结果的一个编号为列,如果查询过程中,数据物理位置发送改变(我觉得这情况几乎没啥可能发生),就会造成分页数据库重复。

如果有排序条件依然发生重复(就是我的情况),那是因为排序条件的字段值不具有唯一性,排序条件的字段至少有一个需是值唯一(可以是主键)。Oracle这里使用的排序算法不具有稳定性,对于键值相等的数据,这种算法完成排序后,不保证这些键值相等的数据保持排序前的顺序。

我的排序条件是时间,很多时间是一样的。。。所以数据重复了

所以解决方法:加一个值具有唯一性的字段作为排序条件(我选 主键ID),然后就可以了


转载于:https://my.oschina.net/u/2410853/blog/532165

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10分钟做一个新闻问答web站点[iVX低代码实战]

一、创建首页 进入到iVX线上编辑器后&#xff0c;选择相对定位。 点击创建后进入到 IDE 之中&#xff1a; 我们在第一步中首先创建一个首页。点击左侧组件栏中的页面组件&#xff0c;创建一个页面&#xff1a; 接着重命名该页面为Home&#xff0c;在页面中创建一个行&#x…

iOS开发网络篇—网络编程基础

一、为什么要学习网络编程 1.简单说明 在移动互联网时代&#xff0c;移动应用的特征有&#xff1a; &#xff08;1&#xff09;几乎所有应用都需要用到网络&#xff0c;比如QQ、微博、网易新闻、优酷、百度地图 &#xff08;2&#xff09;只有通过网络跟外界进行数据交互、数据…

深入理解Three.js(WebGL)贴图(纹理映射)和UV映射

本文将详细描述如何使用Three.js给3D对象添加贴图&#xff08;Texture Map&#xff0c;也译作纹理映射&#xff0c;“贴图”的翻译要更直观&#xff0c;而“纹理映射”更准确。&#xff09;。为了能够查看在线演示效果&#xff0c;你需要有一个兼容WebGL的现代浏览器&#xff0…

在兰州吃牛肉面时亲眼目睹的一幕,我感动了

今天中午去吃占国牛肉面&#xff0c;人比较多&#xff0c;很热闹。旁边坐了一群身穿校服的小学生&#xff0c;身后坐着一位小学老师&#xff0c;当孩子们发现老师在后面的时候&#xff0c;都异口同声地叫老师过去跟他们一起吃&#xff0c;老师嘿的一笑&#xff0c;没同意&#…

如何跨 Namespace 同步 Secret 和 ConfigMap?

Secret 和 ConfigMap 资源对象是命名空间级别的。它们只能被同一命名空间中的 Pod 引用。所以有时候不得不手动为每个命名空间创建它们。但有很多场景&#xff0c;我们想让它们是全局的&#xff0c;至少可以是跨命名空间共享的 Secret 和 ConfigMap&#xff0c;例如这些场景&am…

一文总结学习 Python 的 14 张思维导图

本文主要涵盖了 Python 编程的核心知识&#xff08;暂不包括标准库及第三方库&#xff0c;后续会发布相应专题的文章&#xff09;。 首先&#xff0c;按顺序依次展示了以下内容的一系列思维导图&#xff1a;基础知识&#xff0c;数据类型&#xff08;数字&#xff0c;字符串&am…

GEE学习笔记

掩膜 ​ 在遥感图像处理中&#xff0c;"掩膜"是指一种用于隐藏或保留图像特定部分的技术。掩膜通常是一个二进制图像&#xff0c;其中的像素值为0或1&#xff0c;分别表示遮蔽或保留。 ​ 在去除云的情境中&#xff0c;掩膜通常用于隐藏图像中被云覆盖的部分&#…

十一、飞机大战(IVX 快速开发教程)

十一、飞机大战 制作微信小游戏大致流程与微信小程序、Web类似&#xff0c;不同的在于是组件的使用。 文章目录十一、飞机大战11.1.1 完成游戏角色制作11.1.2 完成物理世界添加11.1.3 完成子弹对象反重力运动11.1.4 使用对象组创建子弹11.1.5 子弹优化11.1.6 设置敌机11.1.7 优…

中国版LinkedIn呼之欲出

迄今为止&#xff0c;发展势头强劲的Facebook仍未上市&#xff0c;而美国职业社交网站LinkedIn 却率先登录纽约证券交易所&#xff0c;股价在第一天的交易中飙升&#xff0c;从45美元的发行价上涨了一倍&#xff0c;然后超过100美元&#xff0c;最终以94.25美元收盘。 LinkedIn…

Android之实现RecyclerView拖拽效果和固定部分元素不进行交换位置(包含源代码下载地址)

1、效果爆照 启动的效果 拖动过程中的效果 拖动后的效果 2、需求和问题 需求:RecyclerView实现拖拽效果,但是部分固定位置不能进行拖拽也不能在拖拽的过程中交换顺序

各主流浏览器内核介绍

所谓的“浏览器内核”无非指的是一个浏览器最核心的部分——“Rendering Engine”&#xff0c;直译这个词汇叫做“渲染引擎”&#xff0c;不过我们也常称其为“排版引擎”、“解释引擎”。这个引擎的作用是帮助浏览器来渲染网页的内容&#xff0c;将页面内 容和排版代码转换为用…

测绘地理信息标准(国家、行业、地方)大全来了:测绘地理信息标准化服务平台

测绘地理信息标准化服务平台&#xff0c;这里有你需要的所有标准&#xff0c;赶快来围观吧&#xff01;

WPF效果第一百八十七篇之再玩ListBox

大周末的接着上一篇又玩了ListBox,这不又来再次去玩耍ListBox;毕竟是我的最爱,没办法就喜欢玩耍他;闲话也不多扯了,直接看最终效果:2、ItemsPanel还是老样子:<ItemsPanelTemplate x:Key"CommonItemsPanelTemplate"><WrapPanel Orientation"Horizontal&…

利用pdf.js开发嵌入pdf显示,以及利用jquery-ui左右分栏显示

原来考虑用pdf.js的viewer.html页面&#xff0c;但怎么用都不方便。因此直接用pdf.js在左侧连续显示pdf所有内容&#xff0c;右侧显示其它相关内容&#xff0c;并且左右宽度可以任意拖动&#xff0c;最终实现效果如图&#xff1a; 代码&#xff1a;<!DOCTYPE html><ht…

十三、制作 iVX音乐分享小程序

功能介绍 通过前几节的学习&#xff0c;我们对完成一个应用已经有了一些自己的心得。在此再次再制作一个小的音乐小程序应用。该应用一共分为首页、榜单页、音乐分享页和音乐搜索页。 首页&#xff1a; 榜单内容页&#xff1a; 音乐分享页&#xff1a; 音乐搜索页&#xff1a…

01_反射_02_反射类的构造方法

【工程截图】 【Person.java】 //将要被反射的类 package com.Higgin.reflect; import java.util.List;public class Person {private String name"NULL";private int age0;public Person(){System.out.println("构造方法&#xff1a;Person()");}public P…

私有云搭建 OpenStack(centos7.3, centos-release-openstack-ocata)

OpenStack&#xff08;centos7.3,centos-release-openstack-ocata&#xff09;nova&#xff1a;计算节点queue&#xff1a;消息队列&#xff0c;系统瓶颈所在scheduler&#xff1a;调度机制conductor&#xff1a;更新数据库cert&#xff08;objectstore&#xff09;&#xff1a…

C# 类继承中的私有字段都去了哪里?

最近在看 C 类继承中的字段内存布局&#xff0c;我就很好奇 C# 中的继承链那些 private 字段都哪里去了? 在内存中是如何布局的&#xff0c;毕竟在子类中是无法访问的。一&#xff1a;举例说明 为了方便讲述&#xff0c;先上一个例子&#xff1a;internal class Program{stati…

大型分布式网站架构技术总结

本文是学习大型分布式网站架构的技术总结。对架构一个高性能&#xff0c;高可用&#xff0c;可伸缩&#xff0c;可扩展的分布式网站进行了概要性描述&#xff0c;并给出一个架构参考。一部分为读书笔记&#xff0c;一部分是个人经验总结。对大型分布式网站架构有很好的参考价值…

python 数据分析找到老外最喜欢的中国美食【完整代码】

一、环境及依赖 语言&#xff1a;python3.8 抓取&#xff1a;selenium 代理&#xff1a;ipide **注&#xff1a;**想要完整代码的在末尾&#xff0c;注意新手建议慢慢看完。在此提示一下本篇文章的编写步骤&#xff1a;1.获取数据、2.翻译、3.数据清洗、4.切词词权重、5.词云 …