这个跟执行顺序有关。先执行where再对结果进行group by分组,最后再having 对每组数据进行筛选过滤。
where group by having
所以条件在where和在having 的结果是不一样的。
第二个语句会报错。聚合函数不应出现在where子句。要对分组聚合的数据结果进行筛选,应该是在having子句中对聚合值进行判断