Maison  >  Article  >  base de données  >  Pouvons-nous utiliser la clause MySQL GROUP BY pour plusieurs colonnes, tout comme la clause MySQL DISTINCT ?

Pouvons-nous utiliser la clause MySQL GROUP BY pour plusieurs colonnes, tout comme la clause MySQL DISTINCT ?

王林
王林avant
2023-08-24 17:33:02908parcourir

我们可以像使用 MySQL DISTINCT 子句一样对多个列使用 MySQL GROUP BY 子句吗?

Oui, il est possible de regrouper plusieurs colonnes à l'aide de la clause GROUP BY de MySQL, tout comme nous pouvons utiliser la clause DISTINCT de MySQL. Considérons l'exemple suivant, dans la première requête nous avons utilisé la clause DISTINCT et la deuxième requête utilisant la clause GROUP BY sur les colonnes 'fname' et 'Lname' de la table nommée 'testing'.

mysql> Select * from testing;
+------+---------+---------+
| id   | fname   | Lname   |
+------+---------+---------+
|  200 | Raman   | Kumar   |
|  201 | Sahil   | Bhalla  |
|  202 | Gaurav  | NULL    |
|  203 | Aarav   | NULL    |
|  204 | Harshit | Khurana |
|  205 | Rahul   | NULL    |
|  206 | Piyush  | Kohli   |
|  207 | Lovkesh | NULL    |
|  208 | Gaurav  | Kumar   |
|  209 | Raman   | Kumar   |
+------+---------+---------+
10 rows in set (0.00 sec)

mysql> Select DISTINCT FNAME,LNAME from testing;
+---------+---------+
| FNAME   | LNAME   |
+---------+---------+
| Raman   | Kumar   |
| Sahil   | Bhalla  |
| Gaurav  | NULL    |
| Aarav   | NULL    |
| Harshit | Khurana |
| Rahul   | NULL    |
| Piyush  | Kohli   |
| Lovkesh | NULL    |
| Gaurav  | Kumar   |
+---------+---------+
9 rows in set (0.00 sec)

mysql> Select Fname, LNAME from testing GROUP BY Fname,Lname;
+---------+---------+
| Fname   | LNAME   |
+---------+---------+
| Aarav   | NULL    |
| Gaurav  | NULL    |
| Gaurav  | Kumar   |
| Harshit | Khurana |
| Lovkesh | NULL    |
| Piyush  | Kohli   |
| Rahul   | NULL    |
| Raman   | Kumar   |
| Sahil   | Bhalla |
+---------+---------+
9 rows in set (0.00 sec)

La seule différence est qu'une requête MySQL utilisant la clause GROUP BY renvoie un ensemble de résultats triés, tandis qu'une requête MySQL utilisant la clause DISTINCT renvoie un ensemble de résultats non triés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer