Oracle 8i环境
版本号
Oracle8 Release 8.0.5.0.0 - Production(版本号)
PL/SQL Release 8.0.5.0.0 - Production
CORE Version 4.0.5.0.0 - Production
TNS for 32-bit Windows: Version 8.0.5.0.0 - Production
NLSRTL Version 3.3.2.0.0 - Production问题:我想查找出按ordernum字段排序后的最大1000行数据
(意思跟sql server 排序后的top语句一个意思select top 1000 * from orders order by ordernum desc)但在Oracle 8i 8.0.5版环境下,这样写没搞定,请教高手,Oracle 8i 8.05下怎么写?或提供思路select * from (select * from orders order by ordernum desc) where rownum<1000
但order by 处提示错误ora-0090缺少右括号
在这里搞了好久,没搞定啊!高手请教高手!
版本号
Oracle8 Release 8.0.5.0.0 - Production(版本号)
PL/SQL Release 8.0.5.0.0 - Production
CORE Version 4.0.5.0.0 - Production
TNS for 32-bit Windows: Version 8.0.5.0.0 - Production
NLSRTL Version 3.3.2.0.0 - Production问题:我想查找出按ordernum字段排序后的最大1000行数据
(意思跟sql server 排序后的top语句一个意思select top 1000 * from orders order by ordernum desc)但在Oracle 8i 8.0.5版环境下,这样写没搞定,请教高手,Oracle 8i 8.05下怎么写?或提供思路select * from (select * from orders order by ordernum desc) where rownum<1000
但order by 处提示错误ora-0090缺少右括号
在这里搞了好久,没搞定啊!高手请教高手!
select * from (select * from orders order by ordernum desc) where rownum<1000
可以的
在这个oracle 8i 8.0.5这个环境下,只要order by 在括号里面就会报错提示:ora-0090缺少右括号
select * from orders where rownum<1000 order by ordernum desc
倒序排 取前1000行
select * from orders where rownum<1000 order by ordernum
正序排 取前1000行
oracle9 10里面都这样 8没有 您试试看看
楼上的理解是错的(你的理解是先查出1000行在排序,而楼主的意思是先排序在找出最大的1000行)
或许大家的环境不一样,LZ的环境是oracle8i 8.0.5老版的