程序员社区

MySQL系列教程 --- 50、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 conditions:用于限制返回行的分组。它仅显示结果集中条件为 TRUE 的那些组。

具有 SUM 函数的 HAVING 子句

考虑具有以下数据的表“employees”表。

file

在这里,我们使用带有 HAVING 子句的 SUM 函数来返回 emp_name 和他们的工作时间总和。

执行以下查询:

SELECT emp_name, SUM(working_hours) AS "Total working hours"  
FROM employees  
GROUP BY emp_name  
HAVING SUM(working_hours) > 5;  

file

简单地说,它还可以与 COUNT、MIN、MAX 和 AVG 函数一起使用。

赞(0) 打赏
未经允许不得转载:IDEA激活码 » MySQL系列教程 --- 50、MySQL 中的HAVING 语句

一个分享Java & Python知识的社区