group by 优先于 order by
group by 必须有聚合函数配合才能使用 因为使用group by 的目的就是要将数据分类汇总
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行先去掉,即在分组前就过滤掉数据,条件中不能包含聚合函数,
而having子句被限制在select语句中定义的列和聚合表达式上,通常,你需要通过在having子句中重复聚合函数表达式来引用聚合值,也就是having在一定程度上弥补了where不能引用聚合值来过滤数据的缺陷
group by 优先于 order by
group by 必须有聚合函数配合才能使用 因为使用group by 的目的就是要将数据分类汇总
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行先去掉,即在分组前就过滤掉数据,条件中不能包含聚合函数,
而having子句被限制在select语句中定义的列和聚合表达式上,通常,你需要通过在having子句中重复聚合函数表达式来引用聚合值,也就是having在一定程度上弥补了where不能引用聚合值来过滤数据的缺陷