概念:
where
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行,并且where后不能使用“聚合函数”。
聚合函数
对一组值执行计算,并返回单个值,也被称为组函数,经常与 SELECT 语句的 GROUP BY 子句的HAVING一同使用。例如
AVG 返回指定组中的平均值COUNT 返回指定组中项目的数量MAX 返回指定数据的最大值。MIN 返回指定数据的最小值。SUM 返回指定数据的和,只能用于数字列,空值被忽略。
having
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组,与聚合函数共同使用。
区别:
-----
注意事项:
在编写sql语句时,要注意where和group by的执行顺序,where应在前执行,group by 在后,否则会报错。