GROUP BY
Để lấy dữ liệu gộp chung theo một nhóm chúng ta sử dụng từ khóa GROUP BY.
Ví dụ khi muốn lấy tên lớp.
|
|
+------------+ | class_name | +------------+ | 5A | | 5B | +------------+
Sử dụng các hàm COUNT, MAX, MIN, AVG
Chúng ta cũng có thể sử dụng các hàm COUNT(), MAX(), MIN(), AVG() với GROUP BY. Các hàm này gọi là hàm tập hợp (aggregate function).
Ví dụ muốn lấy điểm lớn nhất, điểm thấp nhất và điểm trung bình của từng lớp:
|
|
+------------+------------+-------------------+------------+ | MAX(score) | MIN(score) | AVG(score) | class_name | +------------+------------+-------------------+------------+ | 8.9 | 7.6 | 8.266666571299234 | 5A | | 9.5 | 7.8 | 8.650000095367432 | 5B | +------------+------------+-------------------+------------+
Sắp xếp với ORDER BY
Để sắp xếp giá trị trả về với GROUP BY thì chúng ta sử dụng ORDER BY.
Ví dụ sau sắp xếp điểm số trung bình của từng lớp theo thứ tự cao đến thấp.
|
|
+------------+------------+-------------------+------------+ | MAX(score) | MIN(score) | AVG(score) | class_name | +------------+------------+-------------------+------------+ | 9.5 | 7.8 | 8.650000095367432 | 5B | | 8.9 | 7.6 | 8.266666571299234 | 5A | +------------+------------+-------------------+------------+