- Giới thiệu
- MySQL là gì
- Cài đặt
- Quản lý
- Cú pháp MySQL-PHP
- Kết nối MySQL
- Tạo Database
- Xóa Database
- Chọn cơ sở dữ liệu
- Kiểu dữ liệu
- Tạo bảng
- Xóa bảng
- Truy vấn Insert
- Truy vấn Select
- Mệnh đề Where
- Truy vấn Update
- Truy vấn Delete
- Mệnh đề Like
- Mệnh đề Order By
- Sử dụng Join
- Giá trị NULL
- Regexp trong MySQL
- Transaction trong MySQL
- Lệnh Alter
- Chỉ mục (Index)
- Bảng tạm (Temporary Table)
- Mô phỏng bảng
- Thông tin Database
- Sử dụng Sequence
- Xử lý bản sao
- SQL Injection
- Export và Sao lưu (Backup)
- Import và Phục hồi (Recovery)
- Mệnh đề Group By
- Mệnh đề In
- Mệnh đề Between
- Từ khóa Union
- Hàm hữu ích
- Tài liệu tham khảo
- Học SQL cơ bản và nâng cao
- Học PHP cơ bản và nâng cao
Mệnh đề GROUP BY trong MySQL
Bạn có thể sử dụng mệnh đề GROUP BY để nhóm các giá trị từ một cột, và nếu bạn muốn, thực hiện việc tính toán trên cột đó. Bạn có thể sử dụng các hàm COUNT, SUM, AVG, … trên cột đã nhóm đó.
Để hiểu cách sử dụng của mệnh đề GROUP BY, bạn theo dõi bảng sinhvienk58 có các bản ghi sau:
Bây giờ, giả sử dựa vào bảng trên, chúng ta muốn đếm xem có bao nhiêu điểm thi là 8 hay là 9 chẳng hạn.
Nếu bạn viết một truy vấn SQL như sau, thì bạn sẽ nhận được kết quả:
mysql> SELECT COUNT(*) FROM sinhvienk58; //Ket qua la: +---------------------------+ | COUNT(*) | +---------------------------+ | 6 | +---------------------------+
Nhưng điều này không phù hợp với mục đích của bạn là muốn hiển thị từng số điểm thi mà sinh viên đạt được. Vì thế, bạn có thể thực hiện điều này bởi sử dụng các hàm tập hợp trong một mệnh đề GROUP BY như sau:
SELECT diemthi, COUNT(*) FROM sinhvienk58 GROUP BY diemthi; //Ket qua la: +---------+----------+ | diemthi | COUNT(*) | +---------+----------+ | 8.00 | 2 | | 8.50 | 1 | | 9.00 | 2 | | 9.50 | 1 | +---------+----------+ 5 rows in set (0.04 sec)
Bạn sẽ thấy nhiều tính năng khác liên quan tới GROUP BY trong các hàm khác như SUM, AVG, …
Các bài học MySQL phổ biến khác tại AZCode: