SELECT 字段列表 FROM 表名 [ WHERE? 条件] GROUP BY 字段分组名 [HAVING 分组后过滤条件];
WHERE与HAVING的区别
1.执行时机不同:WHERE是分组之前进行过滤,不满足WHERE条件,不参与分组,而HAVING是分组之后对结果进行过滤。
2.判断条件不同:WHERE不能对聚合函数进行判断,而HAVING可以.
注意
执行顺序:WHERE> 聚合函数> HAVING.
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义