Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ऑर्डर करने के बाद ओरेकल क्वेरी द्वारा लौटाई गई पंक्तियों की संख्या को मैं कैसे सीमित करूं?

आप इसके लिए एक सबक्वेरी का उपयोग कर सकते हैं जैसे

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;

अधिक उदाहरणों के लिए यह उत्तर देखें। संकेत के लिए क्रुमिया को धन्यवाद।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में हमेशा दशमलव स्थान दिखाएं?

  2. ओरेकल डीबी में अंतिम सम्मिलित रिकॉर्ड की आईडी प्राप्त करें

  3. Oracle SQL के लिए पार्सर

  4. Oracle में एक महीने में दिनों की संख्या प्राप्त करने के 2 तरीके

  5. ओरेकल ब्लॉब टेक्स्ट सर्च