我们不能在ORACLE的SQL中使用TOP命令来获取前n个排序的行,因为它不支持它。但是有一些方法可以使用rank()和rownum()获得结果,但这需要and内部查询。我想知道除了使用带有内部查询的rownum()/rank()之外,是否还有其他方法。
发布于 2013-01-08 03:19:26
我不知道"rownum()“是什么。最好的方法是@PinnyM删除的答案。。。
select *
from (<your query here>
order by <your ordering>
) t
where rownum < xx这比使用row_number()或rank()要好得多,因为rownum只需要很少的值处理。
顺便说一下,TOP是特定于SQL Server和Sybase的。使用LIMIT的其他数据库。
https://stackoverflow.com/questions/14202300
复制相似问题