共同点:都是做过滤筛选用的.


不同点:

where用来筛选原始数据记录的,在统计前过滤;

having筛选的是用聚合函数统计出来的结果,在统计后过滤;


having总是跟在group by后面;

注:用group by不一定有having,但用having必须在group by后面;


having就是用来弥补where在分组数据判断时的不足,因为where执行优先级别要快于聚合语句。