比如满足条件的有10条,我只查8条,这样来节省一些时间
解决方案 »
- oracle11g遇到一灵异问题,求解决
- 那位兄弟姐妹帮忙下 Oacle 数据库怎么建立数据库建库的脚本的是什么!?
- 请问为什么我将我的数据库升级到9208后,每次新建一个数据库都是9201的,必须重新运行升级脚本才能正常运行
- CSV出力问题
- 关于ORACLE联表查询的一个问题(有个字段是带有多个数据的),急~~~~~~
- oracle中新插入数据后总是要过一段时间才能查询出来
- 一个关于Decode的简单的问题
- sql server2000 dts oracle9i
- update gl_wzbm set substr(3,1)='9' where wzbm like '4919%' 这句话该怎样写?
- 关于索引的疑问
- SQL别名怎么写?
- *********怎么把十进制转换为二进制呢?*********
fr (sl where rownum <=8)
....
from (select * from table where 条件 and rownum<=8)
其他条件自己加
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就可以选中 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