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 VietJack: