आप इसके लिए एक सबक्वेरी का उपयोग कर सकते हैं जैसे
select *
from
( select *
from emp
order by sal desc )
where ROWNUM <= 5;
अधिक जानकारी के लिए Oracle/AskTom पर ROWNUM पर और परिणामों को सीमित करने वाले विषय पर भी एक नज़र डालें।
अपडेट करें :निचले और ऊपरी सीमा दोनों के साथ परिणाम को सीमित करने के लिए चीजें थोड़ी अधिक फूली हुई हो जाती हैं
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;
अधिक उदाहरणों के लिए यह उत्तर देखें। संकेत के लिए क्रुमिया को धन्यवाद।