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.