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