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

ओरेकल एसक्यूएल ऑर्डर सबक्वायरी समस्याओं में!

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

यदि आपके पास एक क्वेरी है जिसमें एक ROWNUM और एक ORDER BY शामिल है, तो Oracle पहले ROWNUM और फिर ORDER BY लागू करता है। तो क्वेरी

SELECT *
  FROM emp
 WHERE rownum <= 5
 ORDER BY empno

EMP . से एक मनमाना 5 पंक्तियाँ प्राप्त करता है तालिका और उन्हें क्रमबद्ध करें-- लगभग निश्चित रूप से वह नहीं जो इरादा था। यदि आप ROWNUM का उपयोग करके "पहली N" पंक्तियाँ प्राप्त करना चाहते हैं, तो आपको क्वेरी को नेस्ट करना होगा। यह प्रश्न

SELECT *
  FROM (SELECT *
          FROM emp
         ORDER BY empno)
 WHERE rownum <= 5

EMP तालिका में पंक्तियों को सॉर्ट करता है और पहला 5 देता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WIDTH_BUCKET () Oracle में फ़ंक्शन

  2. मैं कैसे बता सकता हूं कि मेरा ओरेकल सिस्टम यूनिकोड या मल्टीबाइट वर्णों का समर्थन करने के लिए सेट है या नहीं?

  3. dbms_output.put_line

  4. Oracle PL/SQL - कस्टम SQLERRM के साथ उपयोगकर्ता-परिभाषित अपवाद उठाएँ

  5. ऑरैकल क्वेरी में इनपुट के रूप में स्ट्रिंग मान 1,2 पास करने में असमर्थ