Select*fromStudent_info;+------+----- -- --+------------+------------+|id|Nom|Adresse|Sujet|+------+-- -- -----"/> Select*fromStudent_info;+------+----- -- --+------------+------------+|id|Nom|Adresse|Sujet|+------+-- -- -----">

Maison  >  Article  >  base de données  >  Comment pouvons-nous créer une vue MySQL à l’aide de la clause GROUP BY ?

Comment pouvons-nous créer une vue MySQL à l’aide de la clause GROUP BY ?

WBOY
WBOYavant
2023-09-02 12:49:021428parcourir

我们如何使用 GROUP BY 子句创建 MySQL 视图?

On peut utiliser GROUP BY pour regrouper les valeurs dans une colonne et si besoin on peut effectuer des calculs sur la colonne. Vous pouvez utiliser des fonctions telles que COUNT, SUM, AVG, etc. pour regrouper des colonnes. Pour comprendre la clause GROUP BY avec une vue, nous créons une vue nommée "Info" en utilisant la table de base "Student_info" avec les données suivantes -

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
6 rows in set (0.00 sec)

Grammaire

Create or Replace View view_name AS Select_statements FROM table GROUP BY expression1, expression2, ... expression_n;

Exemple

mysql> Create or Replace View Info AS select Subject, COUNT(*) FROM Student_info GROUP BY Subject;
Query OK, 0 rows affected (0.10 sec)

mysql> Select * from info;
+------------+----------+
| Subject    | COUNT(*) |
+------------+----------+
| Computers  |    3     |
| Economics  |    1     |
| History    |    1     |
| Literature |    1     |
+------------+----------+
4 rows in set (0.00 sec)

mysql> Create or Replace View Info AS select Subject,Name, COUNT(Subject) FROM Student_info GROUP BY Subject, Name;
Query OK, 0 rows affected (0.05 sec)

La requête ci-dessus contiendra deux colonnes dans la clause GROUP BY.

mysql> Select * from info;
+------------+---------+----------------+
| Subject    | Name    | COUNT(Subject) |
+------------+---------+----------------+
| Computers  | Mohan   |       1        |
| Computers  | Ram     |       1        |
| Computers  | Raman   |       1        |
| Economics  | Shyam   |       1        |
| History    | YashPal |       1        |
| Literature | Gaurav  |       1        |
+------------+---------+----------------+
6 rows in set (0.00 sec)

L'ensemble de résultats ci-dessus montre que la clause GROUP BY regroupe un ensemble de lignes en un ensemble de lignes récapitulatives par la valeur d'une colonne.

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