我们如何在 MySQL 返回的结果集分组级别应用过滤条件?


众所周知,MySQL 中 SELECT 语句的 GROUP BY 子句可将 MySQL 返回的结果集分为若干组。但如果我们只希望返回某些特定组,就需要在组级别应用过滤条件。这可以通过在 GROUP BY 子句内使用 HAVING 子句来实现。下例将对此进行演示 -

示例

假设我们只希望返回平均工资为 55000 的组,那么我们便需要在 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)

更新于: 20-06-2020

92 次浏览

开启你的职业生涯

完成课程认证

开始
广告