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
老纪22 分钟前
SQL中如何查找特定的空值行:WHERE IS NULL深度解析
jvm·数据库·python
麦聪聊数据27 分钟前
数据 API 平台选型:深度解读数据服务的四大关键技术与架构底座
数据库·sql
IT研究所44 分钟前
AI 时代下的知识管理:从 Claude 的“复盘”能力看生成式 AI价值
大数据·运维·数据库·人工智能·科技·低代码·自然语言处理
2301_781571421 小时前
mysql数据库响应缓慢如何排查_使用EXPLAIN分析执行计划
jvm·数据库·python
彳亍1011 小时前
实现倒计时数字在到达1后自动隐藏(2为最后可见数字),同时继续运行至-1再终止
jvm·数据库·python
Hical_W1 小时前
Hical 踩坑实录五部曲(五):Boost.MySQL 协程集成的 5 个坑
数据库·mysql·开源
X56611 小时前
CSS如何处理SSR中CSS引入_在服务端渲染时提取关键CSS
jvm·数据库·python
哆哆啦002 小时前
使用 Obsidian + GitHub Actions + GitHub Pages 搭建内容发布流
数据库·笔记·github·obsidian
duke8692672142 小时前
PostgreSQL 中高效插入多对多关联数据的三种方案对比与最佳实践
jvm·数据库·python