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

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

相关推荐
JoneBB2 分钟前
ABAP Webservice连接
运维·开发语言·数据库·学习
解决问题no解决代码问题6 分钟前
从乱码到脱敏导出:TiDB CSV 导出实战全指南
数据库
未若君雅裁19 分钟前
MySQL高可用与扩展-主从复制读写分离分库分表
java·数据库·mysql
2401_8676239824 分钟前
CSS Flex布局中如何设置子元素间距_掌握gap属性的现代用法
jvm·数据库·python
月落归舟31 分钟前
一篇文章了解Redis内存淘汰机制与过期Key清理
数据库·redis·mybatis
没有梦想的咸鱼185-1037-16631 小时前
AI-Python机器学习、深度学习核心技术与前沿应用及OpenClaw、Hermes自动化编程
人工智能·python·深度学习·机器学习·chatgpt·数据挖掘·数据分析
phltxy1 小时前
Redis 事务
数据库·redis·缓存
Ada大侦探1 小时前
新手小白学习数据分析03----Excel 报表之大厂周报(2026最新版实操,包教包会!)
学习·数据分析·excel
康乾隆1 小时前
SQL Server Always On 重新添加从库步骤
数据库·sqlserver
环流_2 小时前
redis核心数据类型在java中的操作
java·数据库·redis