आपको SELECT . के सभी कॉलम्स डालने होंगे GROUP BY . में या उन पर फ़ंक्शन का उपयोग करें जो परिणामों को एक ही मान (जैसे MIN .) में संपीड़ित करते हैं , MAX या SUM )।
ऐसा क्यों होता है इसे समझने के लिए एक सरल उदाहरण:कल्पना कीजिए कि आपके पास इस तरह का एक डेटाबेस है:
FOO BAR
0 A
0 B
और आप SELECT * FROM table GROUP BY foo चलाते हैं . इसका मतलब है कि डेटाबेस को पहले कॉलम 0 . के साथ परिणाम के रूप में एक ही पंक्ति वापस करनी होगी GROUP BY . को पूरा करने के लिए लेकिन अब bar . के दो मान हैं से चुना जाना। आप किस परिणाम की अपेक्षा करेंगे - A या B ? या डेटाबेस को GROUP BY . के अनुबंध का उल्लंघन करते हुए एक से अधिक पंक्ति वापस करनी चाहिए ?