MySQL Having语句
MySQL HAVING 子句与 GROUP BY 子句一起使用。它总是返回条件为 True 的行。
一、MySQL Having语句的语法
SELECT expression1, expression2, ... expression_n,
aggregate_function (expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n
HAVING condition;
参数说明:
aggregate_function:它指定任何一种聚合函数,例如 SUM、COUNT、MIN、MAX 或 AVG。
expression1, expression2, ... expression_n:指定未封装在聚合函数中的表达式,必须包含在 GROUP BY 子句中。
WHERE conditions:可选。它指定要选择的记录的条件。
HAVING condition:用于限制返回行的分组。它仅显示结果集中条件为 True 的组。
二、带有 SUM 功能的 HAVING 子句
目前有以下数据的表“employees”表。
在这里,我们使用带有 HAVING 子句的 SUM 函数来返回 emp_name 和他们的工作时间总和。
执行以下SQL语句:
SELECT emp_name, SUM(working_hours) AS "Total working hours"
FROM employees
GROUP BY emp_name
HAVING SUM(working_hours) > 5;
输出结果为:
简单地说,它也可以与 COUNT、MIN、MAX 和 AVG 函数一起使用。
热门文章
优秀文章