Oracle中限制返回结果集的大小

Oracle不支持类似于 MySQL 中的 limit. 但你还是可以rownum来限制返回的结果集的行数.

如果你只希望返回前十行纪录,你可以这样写:

SELECT * FROM table WHERE ROWNUM< 10;

但是下面的语句是不对的:

SELECT * FROM table WHERE ROWNUM >90 AND ROWNUM< 100;

这是因为 Oracle 认为这个条件不成立,所以没有返回。

你应该这样写:

SELECT * FROM table WHERE ROWNUM< 101;

minus

SELECT * FROM table WHERE ROWNUM< 91;