Oracle rownum 用法 --使用rownum 实现获取记录
实现以下查询:
(1)获取前两条的记录;
(2)获取第三条到第六条的记录;
表 student ,记录数8条
(1)获取前两条的记录
直接生成
select * from student where rownum<3
也可以使用嵌套 方法1:先将rownum生成
select *
from (select rownum as rn,s.* from student_kw s where rownum>=1)
where rn <3
方法二:in 嵌套
select * from student
where s# in (select s# from student where rownum<3)
(2)获取第三条到第六条的记录
嵌套语句 方法一:
先将rownum 生成(select rownum as rn,s.* from student s where rownum>=1),再进行选择。
select *
from (select rownum as rn,s.* from student s where rownum>=1)
where rn >2 and rn<7
方法二:
两层限制,但需要注意的是,第二次的rownum是在第一次rownum生成之后的结果集的基础上再次限制,所以记录数是有所变化的。例如本例中原始数据记录是8条,第一次rownum<3后去除了2条,只剩下了7条,所以要取3-6的记录,此时第三在选择时序号已经变成了1,所以rownum应该是>5,而不是7,要相应减2。
select * from student
where s# not in (select s# from student where rownum<3)
and rownum<5
以此类推,获取其他记录时,也是用前面所提到的方法就可以解决。
总结:
(1)rownum在是在符合条件的结果集后加的一个序列号。
(2)序列号每次从1开始,所以1是不能被抛弃的。所以在你施加条件取数据的时候条件必须包含1。
所以当条件为rownum>数值时,是没有结果的。因为当它选择的时候,数据第一条的值为1,当这条不符合时,下一条就变成了1,
以此类推,导致虽然不会报错,但是找不到结果。
(3)在需要中间数据记录或者后面数据记录的时候,需要用嵌套写法。
Oracle rownum 用法 --使用rownum 实现获取记录相关推荐
- 【软件测试】Oracle中的rownum用法
一.对rownum的说明 查看全文 http://www.taodudu.cc/news/show-3538609.html 相关文章: Oracle rownum 用法 Oracle rownum ...
- oracle第3名到第6名,ORACLE的rownum用法讲解
如果选择踏足,终有一天你会爱上这条路. 今天讲讲ORACLE中关于ROWNUM的用法: 一.简单介绍一下ROWNUM是什么,可以用来干什么. 答:ROWNUM是一个序列,会根据sql语句自动给你加上一 ...
- 你听过Oracle中rownum用法吗?
1. 概述 rownum是Oracle引入的虚列. 在物理上这个虚列并不存在,只是在查询时才构造出来.伪列通常是自由分配的,用户无法执行修改等操作. 2. 特点 关于rownum有以下主要特点: r ...
- Oracle中rownum用法警示
今天调试代码,发现分页查询时使用Oracle中rownum的between......and用法的bug,特此总结: 参考资料:http://blog.csdn.net/lg312200538/art ...
- ORACLE ROWNUM用法、select into与insert into区别、merge into的使用、递归查询
ROWNUM用法 ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<. ...
- ORACLE 中ROWNUM用法总结!
ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...
- oracle的rownum的用法,Oracle Rownum用法
Oracle Rownum用法 Oracle提供了rownum,rownum是一个隐含的(查询结果集)字段,rownum是一个行号,从1开始. rownum隐含字段 select rownum, a. ...
- Oracle数据库之rownum,ORACLE数据库中Rownum用法详解
ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(,& gt;=,=, ...
- 转:ORACLE 中ROWNUM用法总结!
对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=),并非说用>,>=,=,be ...
最新文章
- jps could not synchronize with target
- 闲话网名之“jrfly331”
- python安装包_在python官网打不开的情况下获取获取官方最新安装包
- 配置toad远程连接oracle
- 经典问题:向setTimeout传递函数参数
- 【收藏】解决关闭Hadoop时no namenode to stop异常
- Zoom计划于4月IPO
- RASP技术攻防之基础篇
- 斩获大奖|阿里云PolarDB-X引领云原生分布式数据库新时代
- Java枚举类型(enum)详解
- java用while循环语句输出1-100内的奇数和
- PyTorch 1.0 中文官方教程:可选:数据并行处理
- 读《非暴力沟通》马歇尔·卢森堡
- Delphi接入科大讯飞语音合成SDK
- 判断浏览器的cookie是否开启
- webstorm 打开项目java.io.IOEXception:couldn't create PTY
- 吉首大学校赛 K	白山茶与红玫瑰 (线段树区间操作)
- 珍视友情、珍爱生命、珍重和平—读余秋雨散文作品感悟
- Spring Kafka的Offset提交时机
- 程序员考公指南(逃离996的最强后路!!!)