MySQL之where和having的区别

MySQL大约 393 字

where having区别

执行顺序

where>聚合函数(sum,min,max,avg,count)>having
  • where 后不能跟聚合函数,因为where执行顺序大于聚合函数
  • where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
  • having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

having对select后的字段进行筛选

select aaa from user having id > 0; --aaa不是user表中的字段

[Err] 1054 - Unknown column 'aaa' in 'having clause'
阅读 385 · 发布于 2019-04-03

————        END        ————

扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看换一批