数据库 聚合函数与分组

 聚合函数与分组

第一部分:

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

posted @ 2016-01-17 15:40  木古章鱼  阅读(218)  评论(0编辑  收藏  举报