MySQL 之 where 和 having 的区别

MySQL 大约 394 字

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'
阅读 881 · 发布于 2019-04-03

————        END        ————

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

扫描二维码关注我
昵称:
随便看看 换一批