Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Was ist der Unterschied zwischen GROUP BY und DISTINCT?

Duplikat von

Gibt es einen Unterschied zwischen GROUP BY und DISTINCT

Es wird hier bereits diskutiert

Wenn Sie trotzdem hier hören möchten

Nun, Gruppieren nach und Unterschieden hat seine eigene Verwendung.

Eindeutig wird verwendet, um eindeutige Datensätze aus den Datensätzen herauszufiltern, die die Abfragekriterien erfüllen.

Group by-Klausel wird verwendet, um die Daten zu gruppieren, auf deren Grundlage die Aggregatfunktionen ausgelöst werden, und die Ausgabe wird basierend auf den Spalten in der group by-Klausel zurückgegeben. Es hat seine eigenen Einschränkungen, wie z. B. dass alle Spalten, die sich in der Auswahlabfrage befinden, abgesehen von den Aggregatfunktionen, Teil der Group by-Klausel sein müssen.

Obwohl Sie also dieselben Daten durch die Klausel "distinct" und "group by" zurückgeben lassen können, ist es besser, "distinct" zu verwenden. Siehe das folgende Beispiel

select col1,col2,col3,col4,col5,col6,col7,col8,col9 from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9

kann geschrieben werden als

select distinct col1,col2,col3,col4,col5,col6,col7,col8,col9 from table

Es macht Ihnen das Leben leichter, wenn Sie mehr Spalten in der Auswahlliste haben. Wenn Sie jedoch gleichzeitig sum(col10) zusammen mit den obigen Spalten anzeigen müssen, müssen Sie Group By verwenden. In diesem Fall funktioniert die Unterscheidung nicht.

zB

select col1,col2,col3,col4,col5,col6,col7,col8,col9,sum(col10) from table group by col1,col2,col3,col4,col5,col6,col7,col8,col9

Hoffe das hilft.