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

आदेश के अनुसार मैसकल स्थिति समूह का चयन करने में समस्या

अगर आप जोड़ते हैं

SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY';

फिर आप देखेंगे कि अन्य RDBMS इस सिंटैक्स की अनुमति क्यों नहीं देंगे:

  • चयन में 3 गैर-एकत्रित कॉलम लेकिन ग्रुप बाय में एक है
  • ऑर्डर बाय कॉलम ग्रुप बाय/सेलेक्ट में नहीं है और न ही एग्रीगेट किया गया है

यदि आप DISTINCT के बजाय GROUP करना चाहते हैं, तो आपको SELECT में सभी कॉलम द्वारा GROUP करना होगा

SELECT s.serviceid, s.servicenameit, s.servicenameen 
FROM services s, kpi k, checklist_has_kpi chk 
WHERE s.serviceid=k.serviceid AND k.kpiid=chk.kpiid AND k.inreport='yes' AND chk.checklistid=61 
GROUP BY s.serviceid, s.servicenameit, s.servicenameen

लेकिन तब आपके पास कोई chk.order नहीं है ऑर्डर करने के लिए, चाहे ग्रुप बाय या डिस्टिंट का उपयोग कर रहे हों

तो इसके बारे में क्या, डुप्लिकेट को पूरी तरह से अनदेखा करना?

SELECT s.serviceid, s.servicenameit, s.servicenameen 
FROM services s, kpi k, checklist_has_kpi chk 
WHERE s.serviceid=k.serviceid AND k.kpiid=chk.kpiid AND k.inreport='yes' AND chk.checklistid=61 
ORDER BY chk.order ASC

या यह प्रति 3x services . के अनुसार जल्द से जल्द ऑर्डर करने के लिए है कॉलम

SELECT s.serviceid, s.servicenameit, s.servicenameen 
FROM services s, kpi k, checklist_has_kpi chk 
WHERE s.serviceid=k.serviceid AND k.kpiid=chk.kpiid AND k.inreport='yes' AND chk.checklistid=61 
GROUP BY s.serviceid, s.servicenameit, s.servicenameen
ORDER BY MIN(chk.order)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डीबी में JSON स्ट्रिंग को कैसे स्टोर करें?

  2. आप एक ही वेबपेज पर एकाधिक MySQL डेटाबेस से कैसे जुड़ते हैं?

  3. MySQL - सृजन पर आईडी पर कॉलम नाम सेट करें?

  4. तालिका को पसंद करें

  5. MySQL अल्पविराम से अलग किए गए मानों के साथ दो तालिकाओं में शामिल हों