दूसरे शब्दों में कहें तो इस त्रुटि आप कह रहा है एसक्यूएल सर्वर नहीं जानता है कि जो B समूह से चयन करने के लिए।
या तो आप एक विशिष्ट मान का चयन (उदाहरण के लिए करना चाहते हैं MIN, SUMया AVG) इस स्थिति में आप का प्रयोग करेंगे उचित समेकित फ़ंक्शन, या आप हर (यानी सहित एक नई पंक्ति के रूप में मूल्य का चयन करना चाहते Bमें GROUP BYक्षेत्र सूची)।
निम्नलिखित आंकड़ों पर विचार करें:
आईडी एबी
१ १ १३
1 1 79
१ २ १३
१ २ १३
१ २ ४२
पूछताछ
SELECT A, COUNT(B) AS T1
FROM T2
GROUP BY A
लौटूंगा:
1 पर
१ २
२ ३
जो सब ठीक है और अच्छा है।
हालांकि निम्नलिखित (अवैध) क्वेरी पर विचार करें, जो इस त्रुटि का उत्पादन करेगा:
SELECT A, COUNT(B) AS T1, B
FROM T2
GROUP BY A
और इसका लौटा डेटा समस्या को स्पष्ट करता है:
A T1 B
१ २ १३? 79? दोनों 13 और 79 अलग पंक्तियों के रूप में? (13 + 79 = 92)? ...?
२ ३ १३? 42? ...?
हालाँकि, निम्न दो प्रश्न यह स्पष्ट करते हैं, और त्रुटि का कारण नहीं बनेंगे:
एक समुच्चय का उपयोग करना
SELECT A, COUNT(B) AS T1, SUM(B) AS B
FROM T2
GROUP BY A
लौटूंगा:
A T1 B
1 2 92
२ ३ ६ 2
करने के लिए स्तंभ जोड़ना GROUP BYसूची
SELECT A, COUNT(B) AS T1, B
FROM T2
GROUP BY A, B
लौटूंगा:
A T1 B
१ १ १३
1 1 79
२ २ १३
२ १ ४२