千家信息网

使用rownum分页排序前后几次查询数据不一样的示例分析

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍使用rownum分页排序前后几次查询数据不一样的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.环境:创建一个表create table test (
千家信息网最后更新 2026年11月02日使用rownum分页排序前后几次查询数据不一样的示例分析

这篇文章主要介绍使用rownum分页排序前后几次查询数据不一样的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1.环境:创建一个表
create table test (id number, buydate timestamp);
begin
for i in 1..10 loop
insert into test values(i,sysdate);
end loop;
end;
select * from test;

1 22-AUG-17 03.19.15.000000 PM
2 22-AUG-17 03.19.15.000000 PM
3 22-AUG-17 03.19.15.000000 PM
4 22-AUG-17 02.19.15.000000 PM
5 22-AUG-17 03.19.15.000000 PM
6 22-AUG-17 03.19.15.000000 PM
7 22-AUG-17 03.19.15.000000 PM
8 22-AUG-17 04.19.15.000000 PM
9 22-AUG-17 03.19.15.000000 PM
10 22-AUG-17 03.19.15.000000 PM

使用rownum分页排序sql语句如下:
--1
SELECT *
FROM ( SELECT P.*, ROWNUM AS RN
FROM (SELECT *
FROM TEST
WHERE 1 = 1
ORDER BY buydate DESC) P )
where rn >4 and rn <=6 ;
--2
SELECT *
FROM ( SELECT P.*, ROWNUM AS RN
FROM (SELECT *
FROM TEST
WHERE 1 = 1
ORDER BY buydate DESC) P where rownum <= 6 )
where rn >4;

3. 两个语句查询出的结果不一样,而且有时候还会有变化。

4.分析后可以知道,看上面数据:以buydate 来排序,但是buydate 有几行数据时间一样。那么数据库就会随机给出一个顺序。因此,两个语句得出不一样的顺序。分页取得数据就不一样了。其实两条语句效果是一样的。那要怎么改写,才能让分页取数据,前后几次查询的数据绝对一样呢?关键在排序字段。如果buydate,没有重复,就可以了啦。

以上是"使用rownum分页排序前后几次查询数据不一样的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数据 排序 查询 语句 分析 示例 两个 内容 篇文章 顺序 价值 关键 兴趣 字段 小伙 小伙伴 效果 数据库 时间 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 互联网科技工作委员会主任 金诺互联网科技 互联网金融公司科技 深圳互联网络科技有限公司 青岛互联网科技公司 科技互联网创业计划书 人人互联网科技是培训 移动互联网科技股 互联网科技教育视频 花神(南京)互联网科技有限公司 互联网科技商业 新兴科技互联网创新大赛颁奖典礼 高科技互联网发展前景如何 合肥互联网科技公司公章图片 美国互联网科技实力 互联网科技接地气 互联网界的黑科技 第三届互联网大会安防黑科技 科技互联网专业务虚会材料 互联网科技工作委员会 互联网科技工作委员会副主任毛军 互联网科技开发公司 互联网医疗科技 兼蜜互联网科技 互联网科技公司需要的职位 西藏七维空间互联网科技有限公司 互联网科技博主是什么意思 剑昆互联网络科技有限公司临桂 互联网科技自媒体灵感
0