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

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

WBOY
WBOYnach vorne
2023-09-18 23:53:071171Durchsuche

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)

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)

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

mysql> SELECT * from DistinctDemo;

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)

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;

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;

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)
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)

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)

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

mysql> SELECT * from GroupDemo1;

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)

Das Folgende ist die Ausgabe -

SELECT column_name1,......N aggregate function( ) from yourTableName group by
column_name;

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Hilfe zum MySQL-Client-ServerNächster Artikel:Hilfe zum MySQL-Client-Server