यह MySQL 5.7 में एक नई बात है और एक चेतावनी है कि आपकी क्वेरी अस्पष्ट है।
निम्न तालिका पर विचार करें:
id | name | age | points
--------------------------------------------
1 Bob 21 1
2 James 14 1
3 Bob 21 3
4 James 14 2
5 Casey 17 3
यदि आपने निम्न प्रश्न किया है:
SELECT name, age, SUM(points) FROM scores GROUP BY name
फिर name
कॉलम समूहीकरण के लिए प्रयोग किया जाता है। ध्यान दें कि age
कई मान हो सकते हैं, इसलिए यह "गैर-एकत्रित" है। उन मूल्यों को कम करने के लिए आपको कुछ करने की आवश्यकता है।
5.6 और पिछले में व्यवहार केवल क्रमबद्ध क्रम के आधार पर पहले वाले को चुनना था, हालांकि यह कभी-कभी अप्रत्याशित था और विफल हो जाएगा। 5.7 में वे आपको पहली बार में ऐसा करने से रोक रहे हैं।
यहां समाधान यह है कि उस पर भी समूह बनाया जाए, या MIN()
. जैसे समग्र ऑपरेटर को लागू किया जाए इसके लिए।