📅  最后修改于: 2020-11-17 04:48:49             🧑  作者: Mango
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子句中的表达式。
条件:它是可选的。它指定要选择的记录的条件。
HAVING条件:用于限制返回的行的组。它仅显示结果集中条件为TRUE的那些组。
考虑具有以下数据的表“雇员”表。
在这里,我们将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功能一起使用。