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

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

相关推荐
倒流时光三十年15 小时前
PostgreSQL JSONB 操作符详解
大数据·数据库·postgresql
旧曲重听115 小时前
为什么现在 RAG 越少越少提及了
数据库·程序人生·职场和发展·agent
Nturmoils16 小时前
订单查询丢数据,查了半天原来是 WHERE 惹的祸
数据库·后端
ATA888816 小时前
数据库管理工具的数据安全机制对比:权限管控与审计
数据库·人工智能·数据分析·数据库管理
麦聪聊数据16 小时前
业务自助取数(下):安全可控前提下,实现取数效率百倍提升
数据库·sql
2501_9157167216 小时前
Repository-学习指南_小白版
数据库·人工智能
snpgroupcn17 小时前
SAP实施风险管控注意事项:四大风险域与防范策略
前端·数据库·人工智能
2501_9437823517 小时前
【共创季稿事节】BMI 计算器:健康数据计算与区间判定
数据库·鸿蒙·鸿蒙系统
cyforkk17 小时前
MySQL锁机制详解:从乐观锁到悲观锁
数据库·mysql
shujudang17 小时前
深入数据架构选型:开源埋点系统 vs 企业级增长分析平台的工程与业务考量
架构·数据分析·开源