MySQL HAVING子句
MySQL HAVING子句与GROUP BY子句一起使用。总是返回条件为TRUE的行。
语法:
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子句
请考虑具有以下数据的表"员工"表。
这里,我们将SUM函数与HAVING子句一起使用以返回emp_name和他们的工作时间。
执行以下查询:
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函数一起使用。