Heim > Datenbank > MySQL-Tutorial > Was ist der Unterschied zwischen SELECT DISTINCT und GROUP BY in MySQL?

Was ist der Unterschied zwischen SELECT DISTINCT und GROUP BY in MySQL?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2023-09-18 23:53:07
nach vorne
1287 Leute haben es durchsucht

MySQL 中 SELECT DISTINCT 与 GROUP BY 的区别?

SELECT DISTINCT kann verwendet werden, um unterschiedliche Werte anzugeben. Verwenden Sie es, um doppelte Datensätze zu entfernen und Es kann auch mit Aggregatfunktionen verwendet werden. Zum Beispiel: MAX, AVG usw. Dies kann angewendet werden auf einer einzelnen Spalte.

Im Moment erstelle ich eine Tabelle, um SELECT DISTINCT für Spalten zu verwenden. Erstellen Sie eine Tabelle Hilfe für den CREATE-Befehl -

mysql> CREATE TABLE DistinctDemo
-> (
-> id int,
-> name varchar(100)
-> );
Query OK, 0 rows affected (0.64 sec)
Nach dem Login kopieren

Datensätze einfügen -

mysql> INSERT into DistinctDemo values(1,'John');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into DistinctDemo values(2,'John');
Query OK, 1 row affected (0.18 sec)

mysql> INSERT into DistinctDemo values(3,'Bob');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into DistinctDemo values(4,'John');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT into DistinctDemo values(5,'David');
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into DistinctDemo values(6,'Bob');
Query OK, 1 row affected (0.16 sec)
Nach dem Login kopieren

Alle Datensätze mit Hilfe des SELECT-Befehls anzeigen. Die Abfrage lautet wie folgt:

mysql> SELECT * from DistinctDemo;
Nach dem Login kopieren

Nachdem wir die obige Abfrage ausgeführt haben, erhalten wir die folgende Ausgabe:

+------+-------+
| id   | name  |
+------+-------+
| 1    | John  |
| 2    | John  |
| 3    | Bob   |
| 4    | John  |
| 5    | David |
| 6    | Bob   |
+------+-------+
6 rows in set (0.00 sec)
Nach dem Login kopieren

Oben haben wir sechs Datensätze, in denen John und Bob Duplikate sind. Wir können DISTINCT anwenden auf Entfernen Sie doppelte Datensätze. Die Syntax lautet wie folgt:

SELECT distinctcolumn_name from yourTableName order by column_name;
Nach dem Login kopieren

Jetzt wende ich die obige Abfrage an, um Duplikate zu entfernen: Spalte. Dies kann auch mit der Aggregatfunktion angewendet werden. Zum Beispiel: SUM, AVG usw.

Zuerst erstelle ich eine Tabelle mit dem CREATE-Befehl help -

Spalte. Dies kann auch mit Aggregatfunktionen verwendet werden. Zum Beispiel: SUM, AVG usw.

Zuerst erstelle ich eine Tabelle mit dem CREATE-Befehl −
mysql> SELECT distinct name from DistinctDemo;
Nach dem Login kopieren

Nachdem ich die Tabelle erstellt habe, füge ich die Datensätze wie unten gezeigt in die Tabelle ein −

+-------+
| name  |
+-------+
| John  |
| Bob   |
| David |
+-------+
3 rows in set (0.00 sec)
Nach dem Login kopieren

Jetzt können wir alle Datensätze mit Hilfe des SELECT-Befehls − anzeigen

mysql> CREATE table GroupDemo1
-> (
-> id int,
-> name varchar(100),
-> address varchar(100)
-> );
Query OK, 0 rows affected (0.68 sec)
Nach dem Login kopieren

Die folgenden Ausgaben sind:

mysql> INSERT into GroupDemo1 values(1,'John','US');
Query OK, 1 row affected (0.18 sec)

mysql> INSERT into GroupDemo1 values(2,'Bob','UK');
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into GroupDemo1 values(3,'David','US');
Query OK, 1 row affected (0.12 sec)

mysql> INSERT into GroupDemo1 values(4,'David','US');
Query OK, 1 row affected (0.15 sec)
Nach dem Login kopieren

Ich werde GROUP BY anwenden, um herauszufinden, wie oft dieselbe Adresse vorkommt. Hier ist es Syntax −

mysql> SELECT * from GroupDemo1;
Nach dem Login kopieren

Lassen Sie uns die obige Syntax auf GROUP BY anwenden -

+------+-------+---------+
| id   | name  | address |
+------+-------+---------+
| 1    | John  | US      |
| 2    | Bob   | UK      |
| 3    | David | US      |
| 4    | David | US      |
+------+-------+---------+
4 rows in set (0.00 sec)
Nach dem Login kopieren

Das Folgende ist die Ausgabe -

SELECT column_name1,......N aggregate function( ) from yourTableName group by
column_name;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen SELECT DISTINCT und GROUP BY in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage