聚合函数用于实现数据统计等功能,主要以下函数:AVG,COUNT,MIN,MAX,SUM。
如果我们加上GROUP BY子句,通常一个聚合函数的范围是满足WHERE子句指定的所有记录。在加上GROUP BY 子句一起使用时,聚合函数的范围变成为每组的所有记录。换名话说,一个结果是由组成一组的每个记录集合产生的。
使用HAVING子句可以对这些组进一步加以控制。用这一子句定义这些组所必须满足的条件,以便将其包含在结果中。
当WHERE子句、GROUP BY子句和HAVING子句同时出现在一个查询中时,select-sql的执行顺序如下:
1、执行where子句,从表中选取行。
2、由group by 对选取的行进行分组。
3、执行聚合函数。
4、执行having子句选取满足条件的分组。
自己的解释:
在select语句中先选择where 语句中的条件,后进行分组。另在由having对分组的结果进行限定条件。