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

ग्रुप बाय एक्सप्रेशन त्रुटि नहीं है

त्रुटि यह सब कहती है, आप MEMBERS.MEMBER_ID द्वारा समूहीकृत नहीं कर रहे हैं और MEMBERS.MEMBER_NAME

SELECT MEMBERS.MEMBER_ID, MEMBERS.MEMBER_NAME
     , COUNT(personal_training_sessions.session_id)
  FROM MEMBERS 
  JOIN personal_training_sessions
    ON personal_training_sessions.member_id = members.member_id
 GROUP BY MEMBERS.MEMBER_ID, MEMBERS.MEMBER_NAME

आप व्यक्तिगत सत्रों की संख्या प्रति चाहते हैं सदस्य, इसलिए आपको सदस्य जानकारी के आधार पर समूह बनाना होगा।

मूल (बेशक यह बहुत अधिक जटिल हो सकता है) ग्रुप बाय, सेलेक्ट क्वेरी है:

SELECT <column 1>, <column n>
     , <aggregate function 1>, <aggregate function n>
  FROM <table_name>
 GROUP BY <column 1>, <column n>

एक समग्र कार्य, जैसा कि केन व्हाइट कहते हैं, कुछ इस तरह है MIN() , MAX() , COUNT() आदि. आप सभी . द्वारा समूहित करें कॉलम जो एकत्रित नहीं हैं।

यह केवल तभी काम करेगा जब आपके MEMBERS MEMBER_ID पर तालिका अद्वितीय है , लेकिन आपकी क्वेरी के आधार पर मुझे संदेह है कि यह है। मेरा मतलब स्पष्ट करने के लिए, यदि आपकी तालिका MEMBER_ID . पर अद्वितीय नहीं है तो आप प्रति MEMBER_ID . सत्रों की संख्या की गणना नहीं कर रहे हैं लेकिन सत्रों की संख्या प्रति MEMBER_ID और प्रति MEMBER_NAME . यदि वे 1:1 संबंध में हैं तो यह प्रभावी रूप से वही बात है लेकिन यदि आपके पास एकाधिक MEMBER_NAME हो सकते हैं s प्रति MEMBER_ID तो यह नहीं है।



  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. SQL डेवलपर में बहु-मूल्यवान पैरामीटर के लिए बाइंड कैसे दर्ज करें

  4. Oracle का उपयोग करके Django में स्वचालित परीक्षण बनाते समय ORA-65096 त्रुटि को ठीक करना

  5. जावा में अशक्त डेटा से भरा ओरेकल ऐरे