分组 --- 就是将数据表中的记录按照指定的类进行分组
select  <column>  from  <table>  [where conditions]  group by  <column> ;

  • select关键字之后使用  * ,表示对查询的结果进行分组之后,显示每组的第一条记录(这种显示是没有意义的)
  • select 后 通常显示 分组字段 和 聚合函数(对分组后的数据进行统计、求和、平均值等操作)

having 关键字 --- 对分组后的数据进行筛选

having 是在进行 group  by 分组之后,在做筛选,所以在group by 之后使用

select  <column>  from  <table>  [where conditions]  group by  <column>   [having conditions];
这条语句执行的顺序:
1.根据where条件查询数据库,筛选出数据,
2.然后再对筛选出来的数据进行 group by分组.
3.最后对group by 分组后的数据进行having 筛选.
4.如果后续还有 order by 语句,则最后再进行排序。 

没有 group by 就不存在有 having

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐