mysql-group by order by having where 之间的关系

group by 优先于 order by
group by 必须有聚合函数配合才能使用 因为使用group by 的目的就是要将数据分类汇总

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

猜你喜欢

转载自blog.csdn.net/weixin_43462709/article/details/84027854