在oracle表中怎么获得第5行到第7行的记录
来源:互联网 发布:ios彩票app源码 编辑:程序博客网 时间:2024/05/16 18:24
在oracle中表test,
记录如下:
A
---
1
2
3
4
5
6
7
8
记录如下:
A
---
1
2
3
4
5
6
7
8
请问怎么获得第5行到第7行的记录呢?
/************************************答案***********************************/
select * from can_jsk where rownum <= 7 minus select * from can_jsk where rownum <= 5
select * from can_jsk where rownum <= 7 minus select * from can_jsk where rownum <= 5
/***********执行结果**************/
1* select * from emp where rownum <= 7 minus select * from emp where rownum <= 5
SQL> /
SQL> /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
1* select * from emp where rownum!=10
SQL> /
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
1* select * from emp where rownum!=10
SQL> /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 20
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
已选择9行。
/*********错误***********/
SQL> select* from emp where rownum <=2
2 minus
3 select * from emp where rownum<=5
4 ;
2 minus
3 select * from emp where rownum<=5
4 ;
未选定行
注意:rownum只能用符号(<、<=、!=)。
select * from tablename where rownum != 10;返回的是前9条记录。
不能用:>,>=,=,Between...and。由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件
select * from tablename where rownum != 10;返回的是前9条记录。
不能用:>,>=,=,Between...and。由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件
只能用
select *
from table_name
where rownum < N
minus
select *
from table_name
where rownum < M
select *
from table_name
where rownum < N
minus
select *
from table_name
where rownum < M
就可以选中 M 与 N之间的。
rownum是伪列,代表已经查询到的记录的行序号。还未查到的记录是没有rownum的。
因此ROWNUM>=1 AND ROWNUM<=10是可以查到前10条记录但是不能证明
ROWNUM>=500 AND ROWNUM<=600可以查处500~600的501条记录。
ROWNUM>=1 AND ROWNUM<=10在逻辑上相当于ROWNUM<=10
正确的方法是:
select * from (select Z_YXJK_DMDH.*, rownum as rid from Z_YXJK_DMDH where rownum<=600) where rid > 500
或者
select * from Z_YXJK_DMDH where rownum<=600
minus
select * from Z_YXJK_DMDH where rownum<=500
在效率上推荐前一种
因此ROWNUM>=1 AND ROWNUM<=10是可以查到前10条记录但是不能证明
ROWNUM>=500 AND ROWNUM<=600可以查处500~600的501条记录。
ROWNUM>=1 AND ROWNUM<=10在逻辑上相当于ROWNUM<=10
正确的方法是:
select * from (select Z_YXJK_DMDH.*, rownum as rid from Z_YXJK_DMDH where rownum<=600) where rid > 500
或者
select * from Z_YXJK_DMDH where rownum<=600
minus
select * from Z_YXJK_DMDH where rownum<=500
在效率上推荐前一种
转载自:http://www.cnblogs.com/wenjl520/archive/2009/04/28/1445779.html
0 0
- 在oracle表中怎么获得第5行到第7行的记录
- 请问在ORACLE中怎么实现获得一个库中的所有表中的全部记录数?
- 在oracle一个有60万记录的表中删除几十条记录怎么用了很长时间?
- 在oracle数据库中需要查询出前8条记录的sql语句怎么写
- 在批处理文件中怎么获得三天前的日期
- oracle中获得某表中的随机数据记录
- 在postgresql中获得当前插入记录的id
- ORACLE中获得受影响记录行数
- 在oracle中取得父子表的树形记录
- ASP中怎么获得被更新或新增的记录数?
- 怎么在JavaScript中获得Java变量, 及如何在JavaScript中获得选中option的值和文本
- 获得第x条记录, 已知ID号求其在数据的位置
- Oracle 如何将某一行记录放在查询结果的第一行【最后一行】
- 在Oracle中取得查询结果的前10条或第10条到第20条记录
- 怎么在MySQL中插入大量记录
- ios中获得UUID的方法,ios怎么获得uuid
- sql表中如何获得最大时间的记录
- 在asp.net(C#)中怎么获得一个目录的大小?
- 甘肃回应“万名考试作弊猖狂”:不存在考题泄露
- Ubuntu下安装MySql并在外网连接
- 关于Android中Animation的停止
- 启动apk的方法
- 如何注册删除自己的js库到bower私库
- 在oracle表中怎么获得第5行到第7行的记录
- java读取中文分词工具(二)
- 不花钱也能让你体验无线路由器的WiFi
- 学习匈牙利算法总结(求解二分图最大匹配)
- git 使用beyond compare 的配置方法
- svn import后,服务器上少了所有*.a静态库文件的问题
- Last_IO_Errno错误代码说明
- Git: fatal: bad config file line 1 in .git/config
- IOS 加速计