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

चयन में एकाधिक कॉलम चुने जाने पर ग्रुप बाय और ऑर्डर के साथ क्वेरी काम नहीं कर रही है

GROUP BY . का उपयोग करते समय आपको सावधान रहने की आवश्यकता है . एक बार जब आप समझ जाते हैं कि GROUP BY . क्या है करता है, आप स्वयं इस मुद्दे को जानेंगे। यह आपके डेटा पर एक एकत्रीकरण करता है या दूसरे शब्दों में, यह कच्ची प्रविष्टियों पर कुछ ऑपरेशन करके और प्रविष्टियों की नई कम संख्या बनाकर आपके डेटा को कम करता है, जिस पर कुछ एकत्रीकरण फ़ंक्शन लागू किया गया है (SUM, COUNT, AVG, आदि)

GROUP BY . में आप जो फ़ील्ड प्रदान करते हैं क्लॉज उस एकत्रीकरण/रोल-अप के स्तर का प्रतिनिधित्व करता है जिसके लिए आप जा रहे हैं।

SELECT col2, col3 FROM tbl WHERE col1 IS NULL GROUP BY col1 ORDER BY col1

यहां आप col1 . पर एकत्रीकरण करने का प्रयास कर रहे हैं स्तर, जिसका अर्थ है कि कॉलम में मौजूद प्रत्येक विशिष्ट मान के लिए col1 , आपके द्वारा SELECT . में प्रदान किए गए कुछ अन्य कॉलम पर कुछ ऑपरेशन किया जाएगा खंड (यहां col2 ,col3 ) ताकि आउटपुट में आपके पास col1 . में गैर-दोहराए जाने वाले मान हों और col2 . के कुछ रोल-अप मान और col3 प्रत्येक विशिष्ट col1 . के सामने आपके द्वारा लागू किए जाने वाले फ़ंक्शन (SUM, COUNT, AVG, आदि) के आधार पर मान।

आप इस फ़ंक्शन को कैसे लागू करते हैं? आपकी उपरोक्त क्वेरी में यही गायब है। इसे हल करने के लिए, आपको SELECT में मौजूद फ़ील्ड पर कुछ एग्रीगेशन फ़ंक्शन लागू करना होगा खंड लेकिन GROUP BY . में नहीं खंड। एसयूएम का उदाहरण लेते हुए इसे आजमाएं:

SELECT SUM(col2), SUM(col3) FROM tbl WHERE col1 IS NULL GROUP BY col1 ORDER BY col1

या बेहतर विचार के लिए, WHERE . को हटा दें फ़िल्टर करें और आउटपुट को चलाकर जाँचें:

SELECT col1, SUM(col2), SUM(col3) FROM tbl GROUP BY col1 ORDER BY col1

इसके अतिरिक्त, आपकी अन्य क्वेरी का कारण

SELECT col2 FROM tbl WHERE col1 IS NULL GROUP BY col2 ORDER BY col2

काम किया है क्योंकि आपको क्षेत्र में एकत्रीकरण लागू करने की आवश्यकता नहीं है (यहां col2 ) जो GROUP BY . में मौजूद है खंड।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php mysql में मैसेजिंग सिस्टम

  2. मेरी क्वेरी को कम कैसे करें?

  3. QMYSQL क्वेरी विफल

  4. चेकबॉक्स स्थिति को चेक या अनचेक आधारित डेटाबेस मान कैसे बनाएं?

  5. MySQL:संग्रहीत प्रक्रियाओं में IF / THEN कथन