आपको 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
. के अनुबंध का उल्लंघन करते हुए एक से अधिक पंक्ति वापस करनी चाहिए ?