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

Rownum का उपयोग करके तालिका की दूसरी पंक्ति का चयन करना

<ब्लॉकक्वॉट>

इस व्यवहार की व्याख्या करने के लिए, हमें यह समझने की आवश्यकता है कि Oracle ROWNUM को कैसे संसाधित करता है। एक पंक्ति में ROWNUM निर्दिष्ट करते समय, Oracle 1 से शुरू होता है और जब एक पंक्ति का चयन किया जाता है तो केवल मान में वृद्धि होती है; यानी, जब WHERE क्लॉज की सभी शर्तें पूरी होती हैं। चूँकि हमारी शर्त के लिए आवश्यक है कि ROWNUM 2 से बड़ा हो, कोई पंक्तियाँ नहीं चुनी जाती हैं और ROWNUM कभी भी 1 से आगे नहीं बढ़ता है।

लब्बोलुआब यह है कि निम्नलिखित जैसी स्थितियां अपेक्षित रूप से काम करेंगी।

.. जहां रौनम =1;

.. जहां राउनम <=10;

जबकि इन शर्तों वाली क्वेरीज़ हमेशा शून्य पंक्तियाँ लौटाएँगी।

.. जहां रौनम =2;

.. जहां राउनम> 10;

Oracle Rownum को समझने से उद्धरित

काम करने के लिए आपको अपनी क्वेरी को इस तरह से संशोधित करना चाहिए:

select empno
from
    (
    select empno, rownum as rn 
    from (
          select empno
          from emp
          order by sal desc
          )
    )
where rn=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. जब हम हॉट बैकअप लेते हैं तो Oracle द्वारा अनुसरण किया जाने वाला तंत्र

  2. Oracle SQL एस्केप कैरेक्टर ('&' के लिए)

  3. Oracle:रिकॉर्ड डेटाटाइप से चुनें

  4. Oracle में गतिरोध

  5. Oracle - मैं किस TNS नाम फ़ाइल का उपयोग कर रहा हूँ?