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

SQL कथन द्वारा Groupy में नहीं कॉलम द्वारा चयन और ऑर्डर कैसे करें - Oracle

ऐसे कॉलम शामिल करने का कोई मतलब नहीं है जो ग्रुप बाय क्लॉज का हिस्सा नहीं हैं। विचार करें कि यदि आपके पास SELECT क्लॉज में MIN(X), MAX(Y) है, तो अन्य कॉलम (समूहीकृत नहीं) किस पंक्ति से आने चाहिए?

यदि आपका Oracle संस्करण हाल ही में पर्याप्त है, तो आप प्रत्येक डेटा पंक्ति के विरुद्ध SUM (समूहीकृत) दिखाने के लिए SUM - OVER() का उपयोग कर सकते हैं।

SELECT  
    IMPORTID,Site,Desk,Region,RefObligor,
    SUM(NOTIONAL) OVER(PARTITION BY IMPORTID, Region,RefObligor) AS SUM_NOTIONAL
From 
    Positions
Where
    ID = :importID
Order BY 
    IMPORTID,Region,Site,Desk,RefObligor

वैकल्पिक रूप से, आपको Site . से एक समुच्चय बनाना होगा , Desk कॉलम

SELECT  
    IMPORTID,Region,Min(Site) Site, Min(Desk) Desk,RefObligor,SUM(NOTIONAL) AS SUM_NOTIONAL
From 
    Positions
Where
    ID = :importID
GROUP BY 
    IMPORTID, Region,RefObligor
Order BY 
    IMPORTID, Region,Min(Site),Min(Desk),RefObligor


  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 (ORA-02270):इस स्तंभ-सूची त्रुटि के लिए कोई अद्वितीय या प्राथमिक कुंजी से मेल नहीं खाता

  2. Oracle के साथ काम करते समय Fluent NHibernate के साथ बैच लाने को कैसे कार्यान्वित करें?

  3. मैं कैसे पता लगा सकता हूं कि ऑरैकल डेटाबेस ऑटोोकॉमिट पर सेट है या नहीं?

  4. Oracle डाटाबेस 11g के लिए हाइबरनेट बोली?

  5. किसी फ़ंक्शन को कॉल करने के लिए `SELECT` का उपयोग करना