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

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

相关推荐
隔窗听雨眠6 分钟前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
samson_www36 分钟前
Oracle数据泵拷贝表空间
数据库·dba
呆萌很1 小时前
MySQL 8.4 LTS 完整安装教程
数据库·mysql
sunflower#1 小时前
Go学习第五阶段:接口、泛型与包设计,实现可替换的通讯录存储层
学习·oracle·golang
天空'之城2 小时前
单片机基础核心知识点汇总(三十三)
数据库·单片机·嵌入式硬件
Mr数据杨3 小时前
议会事务多标签文本分类实战 从 Open Data St Gallen 看推荐排序建模
人工智能·数据分析·kaggle竞赛
爱吃苹果的日记本3 小时前
数据结构第一课
c语言·数据结构·数据库·学习·c#
张小姐的猫3 小时前
【AI大模型接入SDK】 —— Gemini接入封装
android·数据结构·数据库·c++·人工智能·python
Thomas21434 小时前
mysql 索引面试复习
数据库·mysql·面试