时间:2021-07-01 10:21:17 帮助过:2人阅读
聚合函数与分组
第一部分:
1.对一组数据统计分析师使用聚合函数来实现的
A.count:返回结果集中行的数目
B.sum:和
C.avg:平均值(某列)
D.max:最大值(某列)
E.min:最小值(某列)
a:执行行和列计数
语法:select count(计数规范) from ;
*:所有选择行,包括null count(*)
All 列:非空值行 count(all 列)
Distinct 列:唯一、非空行 count(distinct 列)
b.sum不能使用*,其他语法和count相似
c.avg同sum
d.max只能加一列
e.min只能加一列
第二部分: 分组
a.语法:select 列1,聚合函数(聚合规范)
from 表名
where 过滤条件
group by 列1;
多列分组:
语法:select 列1,列2 聚合函数(聚合规范)
from 表名
where 过滤条件
group by 列1,列2;
使用聚合函数的列
该列在group by 句子当中
b.having
语法:select 列1,聚合函数(聚合规范)
from 表名
where 过滤条件(之前)
group by 列1
having 过滤条件(之后);
聚合是在分组后进行的,where字句是在分组前进行的,所以在where子句里执行聚合函数是不行的。SQL提供了另外一个关键词having来实现函数的过滤,having子句是在:group by执行的
Mysql 的执行的顺序:from-where-group by-select-having-order by
数据库 聚合函数与分组
标签: