一、分组(统计)
查询
1、语法 :
select [distinct] *| 分组字段1[别名] [,分组字段2[别名],...] | 统计函数
from 表名 [别名]
[where 条件(s)]
[group by 分组字段1[,分组字段2]]
[having 分组后的过滤条件(可以使用统计函数)]
[order by 排序字段 asc|desc[,排序字段 asc|desc]];
2、注意分组的细节:
❀ 分组查询:select 后的字段必须是分组字段
(跟在group by 后面的字段) 或 统计函数字段
❀ 不能在where 子句中限制组,即不能在where子句中使用组函数(统计函数)
。
❀ 对分组的结果进行限制(过滤)---使用having
对组
进行筛选
❀ 并列分组:
- 单列分组:水果分为苹果、香蕉、葡萄。一共分为3个组。
- 什么是并列分组:水果分为苹果、香蕉、葡萄;然后苹果又可以分为红富士、丑苹果;香蕉又分为芭蕉、小米蕉;葡萄又分为红提、青提。一共分成6个组。
■ sql语句的执行顺序:从哪张表过滤掉不合法数据,然后分组(对分组结果再过滤一下)显示出来,进行排序、分页。
from where group by having select order by limit
■ where 和 having 执行的先后:
① where 是在分组之前
进行筛选,先过滤掉不合法数据, 在 where 之中不能使用统计函数(组函数)。
② having 是在分组之后
进行筛选,对组的结果进行过滤。
作者:一乐乐