Можете да използвате подзаявка за това като
select *
from
( select *
from emp
order by sal desc )
where ROWNUM <= 5;
Разгледайте и темата За ROWNUM и ограничаване на резултатите в Oracle/AskTom за повече информация.
Актуализиране :За да ограничите резултата както с долни, така и с горни граници, нещата стават малко по-раздути с
select * from
( select a.*, ROWNUM rnum from
( <your_query_goes_here, with order by> ) a
where ROWNUM <= :MAX_ROW_TO_FETCH )
where rnum >= :MIN_ROW_TO_FETCH;
(Копирано от посочена AskTom-статия)
Актуализация 2 :Започвайки с Oracle 12c (12.1) има наличен синтаксис за ограничаване на редовете или започване с отмествания.
SELECT *
FROM sometable
ORDER BY name
OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;
Вижте този отговор за повече примери. Благодаря на Krumia за намека.