更新时间:2022-08-12 GMT+08:00
HAVING过滤子句
功能描述
利用HAVING子句过滤查询结果。
语法格式
1 2 3 4 |
SELECT [ALL | DISTINCT] attr_expr_list FROM table_reference
[WHERE where_condition]
[GROUP BY col_name_list]
HAVING having_condition;
|
关键字
- ALL:返回重复的行。为默认选项。其后只能跟*,否则会出错。
- DISTINCT:从结果集移除重复的行。
- HAVING:一般与GROUP BY合用,先通过GROUP BY进行分组,再在HAVING子句中进行过滤,HAVING子句支持算术运算,聚合函数等。
注意事项
- 所查询的表必须是已经存在的,否则会出错。
- 如果过滤条件受GROUP BY的查询结果影响,则不能用WHERE子句进行过滤,而要用HAVING子句进行过滤。
示例
根据字段name对表student进行分组,再按组将score最大值大于95的记录筛选出来。
1 2 3 |
SELECT name, max(score) FROM student
GROUP BY name
HAVING max(score) >95;
|
父主题: 过滤SELECT