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

कीवर्ड के बीच उपयोग करते समय पंक्ति संख्या कोई पंक्ति प्रदर्शित नहीं कर रही है

Oracle Rownum 1 से शुरू होता है, इसलिए यदि आप between 2 and N कहते हैं, तो आपको कभी भी पहला rownum नहीं मिलेगा। ।

यह राउनम स्यूडोकॉलम अनुक्रम को "आरंभ" करने के लिए एक पंक्ति लेता है, इसलिए अपने मानदंड में पंक्ति संख्या 1 को समाप्त करके, आप सभी पंक्तियों को समाप्त कर देते हैं (या प्रत्येक पंक्ति में अनिवार्य रूप से राउनम 0 होता है। )।

इसे ऐसे देखें। जब तक डेटाबेस आपको एक पंक्ति नहीं लौटाता, तब तक आपको ROWNUM नहीं मिलता है। किसी भी मानदंड की पहली पंक्ति हमेशा ROWNUM 1 होगी।

अब, आप जिस ट्रिक का उपयोग कर सकते हैं, वह है सबक्वेरी का उपयोग करना। प्रत्येक सबक्वेरी का अपना राउनम होगा, और यदि आप इसे किसी अन्य कॉलम नाम पर उपनाम देते हैं, तो आप इसे बाहरी प्रश्नों में संरक्षित कर सकते हैं, और इसे अपनी पसंद के अनुसार व्यवहार कर सकते हैं। इसलिए यदि आप किसी परिणाम सेट के पेजिंग को लागू करना चाह रहे हैं, तो आप सामान्य रूप से उर्फ ​​राउनम को आंतरिक परिणामों से rownum_ के रूप में बाहरी सबक्वेरी में BETWEEN के साथ सीमित करने के लिए उपयोग करेंगे।

select * from 
  (select t.*, rownum as rownum_ from t)
where rownum_ between 2 and 6

लेकिन ध्यान दें, कि बाहरी परिणाम सेट का अपना राउनम होगा, इसलिए आप यह कर सकते हैं:

select t2.*, rownum from 
  (select a, b, rownum as rownum_ from t) t2
where rownum_ between 2 and 6

आप देखेंगे rownum अंतिम परिणाम पर अभी भी 1 से शुरू होता है, लेकिन आपके आंतरिक परिणाम में rownum_ . होगा 2 से शुरू।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल एसक्यूएल डेवलपर में क्लॉब फील्ड डेटा कैसे निर्यात करें?

  2. ओरेकल एसक्यूएल में गतिशील धुरी

  3. जब मैं JDBC एप्लिकेशन में ReadyedStatement.cancel() को कॉल करता हूं, तो क्या यह वास्तव में इसे Oracle डेटाबेस में मारता है?

  4. AWS EC2 से AWS RDS में Oracle डेटाबेस कैसे माइग्रेट करें?

  5. ODP.NET प्रबंधित - अनुरोधित .Net Framework डेटा प्रदाता खोजने में असमर्थ