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

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

相关推荐
阿坤带你走近大数据2 分钟前
Oracle专家级数据库工程师的认知与经验
数据库·oracle
ZePingPingZe11 分钟前
MySQL-InnoDB锁与事务
数据库·mysql
韩立学长23 分钟前
Springboot森林资源检测管理系统xowdi7nq(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
h79971024 分钟前
高效统计mysql数据踩坑笔记
数据库·mysql
爱可生开源社区26 分钟前
在数据库迁移中,如何让 AI 真正“可用、可信、可落地”?
数据库·sql·llm
猿小喵27 分钟前
TDSQL-MySQL相对MySQL5.7版本主从复制性能优化
数据库·mysql·性能优化
姓蔡小朋友32 分钟前
MySQL读写锁(元数据锁、意向锁、行锁、间隙锁、临键锁)
数据库·mysql
山峰哥33 分钟前
SQL性能优化实战:从索引策略到查询优化案例全解析
大数据·数据库·sql·oracle·性能优化·架构
rannn_11135 分钟前
【SQL题解】力扣高频 SQL 50题|DAY5
数据库·后端·sql·leetcode·题解
松涛和鸣36 分钟前
DAY38 TCP Network Programming
linux·网络·数据库·网络协议·tcp/ip·算法