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

ORACLE SQL में MAX ()

जो कॉलम आपने कभी भी सेलेक्ट क्लॉज में बिना एग्रीगेट फंक्शन के जोड़े हैं, वे ग्रुप बाय क्लॉज में होने चाहिए।

इसे थोड़ा स्पष्ट करने के लिए:
यह उदाहरण लें:

आपके चयन खंड में आपके पास TransactionID, AccountID, TransactionAmount, TransactionDate है, और आपको सभी तिथियों पर SUM (TransactionAmount) की आवश्यकता है, उस स्थिति में, यदि आप

जोड़ते हैं
SELECT TransactionDate, TransactionID, AccountID, SUM(TransactionAmount) 
FROM Table 
GROUP BY TransactionDate

फिर आपको एक त्रुटि मिलेगी, क्यों
मान लें कि आपने 20160101 पर 4 लेन-देन किए हैं और प्रत्येक लेनदेन राशि $1000 है
आपकी परिणाम अपेक्षा होगी

TransDate      TransAmt
 20140101          4000

ऐसे में अगर आप सेलेक्ट क्लॉज जैसे AccountID और TransactionID में अन्य विशेषताएँ लाते हैं, तो वे कहाँ जाएँगी? यही कारण है कि हमें ग्रुप क्लॉज में सभी एट्रिब्यूट्स को शामिल करना होगा, जो कभी भी सेलेक्ट क्लॉज में शामिल हैं, सिवाय एक जो कि AGGREGATE फ़ंक्शन के साथ है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlplus कमांड लाइन के साथ सादा पाठ पासवर्ड छिपाना

  2. एक कॉलम में डुप्लिकेट प्रविष्टियां खोजें

  3. दिनांक प्रारूप YYYY-MM-dd HH-MM-ss को कैसे क्वेरी करें?

  4. Oracle SQL में किसी वर्ण की घटनाओं की संख्या की गणना करना

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