Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tạo View MySQL với mệnh đề GROUP BY

Dùng GROUP BY gom nhóm giá trị cột, có thể tính toán (COUNT, SUM, AVG...). Tạo view Info từ Student_info:

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)

Cú pháp

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

Ví dụ

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

GROUP BY gom hàng thành các hàng tóm tắt theo giá trị cột.