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 分钟前
JQuick-SQL 子查询:WHERE、SELECT、HAVING 与派生表实践
数据库·sql
用户05101225729610 分钟前
SQLite 学习博客(一):从零建库,理解 SQLite 的角色与第一张表
数据库·sqlite
福娃筱欢12 分钟前
金仓数据库配置SSL双向认证
数据库·网络协议·ssl
captain37617 分钟前
MyBatis操作数据库(入门1)
数据库·oracle·mybatis
snpgroupcn21 分钟前
SAP 系统退役的归档架构怎么设计:可检索、可理解、可追溯、可证明
java·数据库·架构
清水白石00823 分钟前
React Native与Flutter长期维护成本对比
开发语言·数据库
弦儿29 分钟前
MySQL 数据库从入门到实践:SQL 四大分类 + DDL/DML/DQL 全梳理(附全套代码)
数据库
一个天蝎座的程序猿1 小时前
金仓KingbaseES的数据集成软件,我用了一年多,把KDTS和KFS的用法还有踩过的坑一次说清
数据库
泡海椒1 小时前
JQuick-SQL CASE WHEN 与函数:在查询中构建业务字段
数据库·sql
一个天蝎座的程序猿1 小时前
2TB传感器数据搬迁记:IoTDB数据导入导出实战详解(CSV/SQL/TsFile全踩了一遍)
数据库