phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

मुझे लेफ्ट जॉइन पर NULL मान क्यों मिल रहे हैं?

आप group by performing प्रदर्शन कर रहे हैं (3 कॉलम) चयन सूची में गैर-एकत्रित स्तंभों के 5 स्तंभों के साथ। साथ ही, यह मायने नहीं रखता कि कॉलम आउटपुट में कोई एग्रीगेट नहीं है।

MySQL इसे एक distinct के रूप में मानता है (3 कॉलम के लिए) और एमआरयू कैश में मिलने वाली पहली पंक्ति को वापस लाता है, और यदि कोई कैश नहीं है, तो पहले वाले को क्लस्टर इंडेक्स या भौतिक क्रम में 2 गैर-समूहित-कॉलमों को संतुष्ट करने के लिए सामना करना पड़ता है।

दूसरे शब्दों में, यह एक उपयोगकर्ता त्रुटि है। एक तमाशा। मैं आपको GROUP BY . के साथ अपने इरादे को साफ करने की सलाह देता हूं ।

कुछ हद तक संबंधित, मेरा एक हालिया उत्तर पढ़ें यहां ONLY_FULL_GROUP_BY . से संबंधित . उस लिंक के नीचे देखें MySQL की हैंडलिंग ग्रुप बाय जो मेरे विचार में वास्तविक समस्याओं और गैर-मानकों की एक झलक है, जिसे MySQL ने अनुमति दी थी, जिसने उस मानक के उल्लंघन से डेटा की व्याख्या करने के लिए अप्रत्याशित और कठिन प्रदान किया।

तो MySQL देव टीम ने क्या किया? उन्होंने आपके द्वारा अभी-अभी किए गए प्रश्नों के प्रकारों को अस्वीकार करने के लिए डिफ़ॉल्ट रूप से मानक लागू किया (संस्करण 5.7 में शुरू)।

संपादित करें1

आपकी क्वेरी, बिना किसी GROUP BY . के लेकिन order by newGroups.id,people.id . के साथ , एक संस्करण 5.7.14 सर्वर पर:




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. PhpMyAdmin प्रारंभ नहीं कर सकता। #2002 सॉकेट त्रुटि प्राप्त करते रहें

  2. Phpmyadmin का उपयोग करके ERD कैसे बनाएं

  3. आयात डेटाबेस बैकअप रिटर्न #1064

  4. एक घातक JavaScript त्रुटि उत्पन्न हुई है। क्या आप त्रुटि रिपोर्ट भेजना चाहेंगे? phpmyadmin पर

  5. mysql:mysql तालिका के कॉलम में किसी तत्व की घटनाओं की संख्या के आधार पर ऑर्डर करें