Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng ta có thể áp dụng các tiêu chí lọc ở cấp độ nhóm của tập kết quả do MySQL trả về?

Như chúng ta biết rằng mệnh đề GROUP BY trong câu lệnh SELECT có thể chia tập kết quả, được trả về bởi MySQL, theo nhóm. Bây giờ nếu chúng ta chỉ muốn trả về một số nhóm cụ thể thì cần phải áp dụng tiêu chí lọc ở cấp độ nhóm. Nó có thể được thực hiện bằng cách sử dụng mệnh đề HAVING bên trong mệnh đề GROUP BY. Ví dụ dưới đây sẽ chứng minh điều đó -

Ví dụ

Giả sử chúng ta chỉ muốn trả về nhóm có mức lương trung bình là 55000 thì chúng ta cần sử dụng tiêu chí lọc như sau trong mệnh đề HAVING -

mysql> Select count(*),AVG(salary),Designation from employees GROUP BY designation having AVG(salary) = 55000;

+----------+-------------+-------------+
| count(*) | AVG(salary) | Designation |
+----------+-------------+-------------+
| 2        | 55000.0000  | Asst.Prof   |
+----------+-------------+-------------+

1 row in set (0.00 sec)