Oracle多表联查分页数据重复出现
来源:互联网 发布:php人才招聘系统 编辑:程序博客网 时间:2024/05/19 17:59
一、问题描述
使用Oracle的分页语句进行分页,第一页,没问题,第二页出现重复数据:
第一页的数据:
SELECT *FROM (SELECT u.*, rownum AS rFROM (SELECT configs.VIDEOSERVICE, configs.VOICESERVICE, configs.IMAGESERVICE, doc.id AS docid, doc.name AS docname, doc.begood, rice.graphicprice, rice.speechprice, rice.videoprice, chart.titleName, hpath.FTPURL || doc.PHOTOID AS ftpurl, luate.scoreFROM HEALTHDOCTOR docLEFT JOIN HealthServiceConfig configs ON doc.id = configs.docid LEFT JOIN HEALTHPRICE rice ON doc.id = rice.docid LEFT JOIN healthTitleChart chart ON doc.titlecode = chart.TITLECODE LEFT JOIN HEALTHFTPPATH hpath ON doc.PATHCODE = hpath.PATHCODE LEFT JOIN (SELECT round(AVG(score), 1) AS score, docidFROM healthevaluateGROUP BY docid) luate ON doc.id = luate.docid LEFT JOIN (SELECT COUNT(*) AS ordersum, docidFROM HealthyOrderGROUP BY docid) orders ON doc.id = orders.docid WHERE rice.GRAPHICPRICE >= 0) uWHERE rownum < 13)WHERE r >= 1
第二页的数据:
SELECT *FROM (SELECT u.*, rownum AS rFROM (SELECT configs.VIDEOSERVICE, configs.VOICESERVICE, configs.IMAGESERVICE, doc.id AS docid, doc.name AS docname, doc.begood, rice.graphicprice, rice.speechprice, rice.videoprice, chart.titleName, hpath.FTPURL || doc.PHOTOID AS ftpurl, luate.scoreFROM HEALTHDOCTOR docLEFT JOIN HealthServiceConfig configs ON doc.id = configs.docid LEFT JOIN HEALTHPRICE rice ON doc.id = rice.docid LEFT JOIN healthTitleChart chart ON doc.titlecode = chart.TITLECODE LEFT JOIN HEALTHFTPPATH hpath ON doc.PATHCODE = hpath.PATHCODE LEFT JOIN (SELECT round(AVG(score), 1) AS score, docidFROM healthevaluateGROUP BY docid) luate ON doc.id = luate.docid LEFT JOIN (SELECT COUNT(*) AS ordersum, docidFROM HealthyOrderGROUP BY docid) orders ON doc.id = orders.docid WHERE rice.GRAPHICPRICE >= 0 ) uWHERE rownum < 25)WHERE r >= 13
第一页和第二页有数据重复了,排序有问题。
二、解决方法
在最外层加个"order by id"其中这个id是主键就行了:
阅读全文
0 0
- Oracle多表联查分页数据重复出现
- oracle rownum分页 出现重复数据
- oracle分页排序出现重复数据
- oracle分页查询出现数据重复问题
- oracle分页数据重复问题
- oracle实现分页数据重复
- hql 分页出现数据重复问题
- mysql分页出现重复数据-order by
- sql分页时出现重复的数据。
- 使用hibernate对oracle数据库中数据分页出现重复记录
- oracle分页查询数据重复问题
- Oracle分页查询排序数据重复问题
- Oracle 多分页查询 重复数据
- oracle分页查询数据重复问题
- oracle left join 分页数据重复问题
- Oracle 分页数据重复的问题
- oracle分页查询数据重复问题
- Oracle分页查询排序数据重复问题
- css实现三角形,五角星,爱心等原理
- Python的包管理工具pip的安装与使用
- vim常用命令配置
- dcmtk修改
- tensorflow练习12:利用图片预测年龄与性别
- Oracle多表联查分页数据重复出现
- 利用python进行数据分析(三):pandas--处理数据的工具
- PE文件解析代码
- 用wordcloud分析一年来终端的命令行记录
- oracle两个数据库间对表进行授权
- 关于JSON最实用的代码(二)
- python学习笔记一
- 2017NOIp 普及组第一题
- 论文<Algorithms for non-negative matrix Factorization>