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

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

相关推荐
百锦再3 分钟前
时序数据库选型指南:大数据时代的“数据基建”与 IoTDB 的工业原生之路
大数据·数据库·mysql·oracle·sqlserver·时序数据库·iotdb
小碗羊肉4 分钟前
【MySQL | 第一篇】数据库和表的基本操作(DDL语句)
数据库·mysql
源码之屋5 分钟前
计算机毕业设计:Python天天基金数据采集与智能分析平台 Django框架 数据分析 可视化 爬虫 大数据 大模型(建议收藏)✅
人工智能·爬虫·python·数据分析·django·flask·课程设计
四维迁跃6 分钟前
MySQL触发器处理死锁的防范方法_MySQL高并发触发器优化
jvm·数据库·python
weixin_408717779 分钟前
golang如何实现API压测工具_golang API压测工具实现攻略
jvm·数据库·python
敲敲千反田9 分钟前
redis常见问题
数据库·redis·缓存
人道领域11 分钟前
【Redis实战篇】秒杀系统:一人一单高并发实战(synchronized锁实战与事务失效问题)
java·开发语言·数据库·redis·spring
weixin_4249993614 分钟前
Redis怎样利用Lua脚本批量抓取多类型数据
jvm·数据库·python
yeyuningzi14 分钟前
如何解决海量数据库许可过期导致的无法启动问题
数据库·海量数据库
2301_8176722615 分钟前
Golang怎么写TODO待办应用_Golang TODO应用教程【深入】
jvm·数据库·python