group by
group by 是分组查询,一般和聚合函数配套使用,select的列中非聚合的列只能是group by上的列
select subject,max(grade) from grades group by subject;
having
having是用于分组后过滤,having语句是在group by后面的,而having后面可以使用聚合函数,having筛选的字段必须是在分组后的字段里。
select cat_id,sum(click_count) as click_count from goods GROUP BY cat_id HAVING `cat_id` >9
- 和where的区别
where语句作用于表或视图,而having一般作用于group by后的分组,where的条件不能使用聚合函数,而having可以