只想查询数据集中满足条件的前10条记录 以前一直用SQL_Server.我查询数据集中满足条件的前10条记录是这样写的select top 10 * from 视图A到了oracle他就提示出错了.请问这类似的语句在oracle怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select * from a where rownum<11 SELECT * FROM 视图A WHERE ROWNUM <= 10; 已经解决了啊 UP JF oracle 没有top关键字,但查询时可以自动产生列rownum,也就是结果集有多少行,就等于多少rownum,所以可以用rownum判断返回多少行 上面的人已经把问题解决了,我不妨再补充几句,希望对楼主有用。 Rownum是Oracle表的一个伪列,Oracle用它来保存记录的行号。 但Rownum有个怪癖:最初,第一条记录的Rownum为1,如果第一条不满足条件就假装删除第一条记录,而把原来的第二条记录(现在的第一条记录)的 Rownum设为1,以此类推。这就导致了在用Rownum做条件判断时(Select的Where子句)对关系符<,<=,>,& gt;=等有了一定限制(自己分析)。 解决的方法就是先把Rownum列保存成表的实列,在进行查询。 正常的应该是:select * from (select * from 视图 order by ..) where rownum <= 10; 我是楼主.你们说的方法我试过了.效率非常低.我要查询的数据里面有几千万条数据.正常查询直接就有结果了.但是加了rownum <11 等半天也没结果出来. 楼上的楼主,正常查询是在pl/sql developer里执行的吧,这个工具是自已加了rownum处理了的。 优化你的视图语句.跟是否加rownum好象关系不大. select * from 视图A where rownum<=10 求oracle分组sql 有图有例 谢谢各位给提示 散分啦 如何分割oracle中的字符串,分隔符是0xx1xx 菜鸟求助,简单的插入语句……感激!!! 哪位大哥帮下忙,写个存储过程,取temp表中所有的记录!!!谢谢了!!! 9i修改shared_pool_size报错 请问这个通过触发器可以实现吗?该怎么写? 授权问题 oracle在查询时没有结合索引查询,查出数据居然是乱的,请给个结合索引查询的语句 有谁知道ORACLE的保存插入的数据临时表的位置. 分页查询遇到的奇怪问题 分解一个SQL语句,help
所以可以用rownum判断返回多少行
Rownum是Oracle表的一个伪列,Oracle用它来保存记录的行号。
但Rownum有个怪癖:最初,第一条记录的Rownum为1,如果第一条不满足条件就假装删除第一条记录,而把原来的第二条记录(现在的第一条记录)的 Rownum设为1,以此类推。这就导致了在用Rownum做条件判断时(Select的Where子句)对关系符<,<=,>,& gt;=等有了一定限制(自己分析)。
解决的方法就是先把Rownum列保存成表的实列,在进行查询。
from (select * from 视图 order by ..)
where rownum <= 10;