oracle rownum分页出现重复数据

oracle rownum分页出现重复数据的情况:

一般情况是分组的字段不唯一导致的

解决办法:

原始sql:(错误的)

复制代码
SELECT *
 FROM (
 SELECT a.*, ROWNUM r
 FROM hospital_inpatient_medication a
 WHERE  TO_CHAR(discharge_date,'YYYY-MM-DD HH24:MI:SS') BETWEEN '2024-01-01 00:00:00' AND '2024-02-01 00:00:00'
 AND  ROWNUM <= 500
 ORDER BY discharge_date asc 
)
WHERE r >= 1

改进:(正确的)

复制代码
select *
from (
select row_.*, rownum rownum_
from ( select * from hospital_inpatient_medication
WHERE TO_CHAR(discharge_date,'YYYY-MM-DD HH24:MI:SS') BETWEEN '2024-02-01 00:00:00' AND '2024-03-01 00:00:00'
order by discharge_date asc, id asc )
row_ where rownum <= 5000) b
where b.rownum_ >=1

思路:就是加个唯一键分组

相关推荐
代码中介商11 分钟前
MySQL 存储过程与触发器完全指南
数据库·mysql
Yupureki13 分钟前
《MySQL数据库基础》9.索引原理
linux·运维·服务器·网络·数据库·mysql
睡不醒男孩03082318 分钟前
StarRocks导入数据:从本地文件导入数据(Stream Load)
linux·数据库
treesforest33 分钟前
机房IP是什么?有什么危害?如何识别?
网络·数据库·python·网络协议·tcp/ip·网络安全
李少兄34 分钟前
MySQL分页重复问题深度剖析
android·数据库·mysql
anew___42 分钟前
《数据库原理》第一章——从零理解数据库系统
数据库
Yupureki1 小时前
《MySQL数据库基础》8.复合查询
linux·运维·服务器·网络·数据库·mysql
方芯半导体1 小时前
ST系列MCU EtherCAT协议栈框架结构详解
服务器·网络·数据库·网络协议·机器人·自动化·工业以太网
赵钰老师2 小时前
基于多案例系统学习防洪评价报告编制方法与水流数学模型建模
数据分析
许彰午2 小时前
开发转兼职DBA(五):从救火到防火——参数、内存、监控、备份
数据库·dba