การใช้ GROUP BY ใน View
GROUP BY จัดกลุ่มค่าคอลัมน์ และคำนวณได้ด้วย COUNT, SUM, AVG ฯลฯ
ตัวอย่าง: ใช้ตาราง 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 |
+------+---------+------------+------------+
ไวยากรณ์
CREATE OR REPLACE VIEW view_name AS
SELECT_statements FROM table
GROUP BY expression1, expression2, ...;
ตัวอย่าง 1: นับจำนวนต่อ Subject
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 |
+------------+----------+
ตัวอย่าง 2: GROUP BY 2 คอลัมน์
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 |
+------------+---------+----------------+
GROUP BY จัดกลุ่มแถวเป็นแถวสรุปตามค่าคอลัมน์