8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何限制排序后 Oracle 查询返回的行数?

Jordi Martínez 1月前

97 0

有没有办法让 Oracle 查询的行为像包含 MySQL 限制子句一样?在 MySQL 中,我可以这样做:select * from sometableorder by namelimit 20,10 获取第 21 到第 30 行(s...

有没有办法让 Oracle 查询表现得像包含 MySQL limit 子句?

在 MySQL 中,我可以这样做:

select * 
from sometable
order by name
limit 20,10

获取第 21 至第 30 行(跳过前 20 行,给出接下来的 10 行)。行是在 之后选择的 order by ,因此它实际上是按字母顺序从第 20 个名称开始的。

在 Oracle 中,人们唯一提到的就是 rownum 伪列,但它是 在之前 order by ,这意味着:

select * 
from sometable
where rownum <= 10
order by name

将返回按名称排序的随机十行,这通常不是我想要的。它也不允许指定偏移量。

帖子版权声明 1、本帖标题:如何限制排序后 Oracle 查询返回的行数?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Jordi Martínez在本站《oracle》版块原创发布, 转载请注明出处!
最新回复 (0)
  • +1你的较低/较高版本实际上帮助我解决了一个问题,即仅仅上限 rownum 子句大大减慢了我的查询速度。

返回
作者最近主题: