语法都相对很熟悉了,以下列出以便展开
select 待查询字段
from 表名
where 条件
group by 分组字段1,分组字段2,...,分组字段n
需要谨记的是待查询字段除分组字段和写死的字段外,其余的待查询字段必须为聚合函数!!
也就是待查询字段除聚合函数和写死的字段外,其余必须在group by 后的分组字段中出现
- 错误示例1
解析:id为分组字段,1为写死字段,max()和count()为聚合函数,name如果也是待检索字段,必须在group by 后出现 - 正确示例1
- 错误示例2
解析:id,name为分组字段,1为写死字段,count()为聚合函数,case when 为非聚合
4.补充
只和分组字段相关的函数,group by也不用列出了
正确示例
无需写group by id,MD5ENCODE(id)