首发于 SQL学习

MySQL ----- 聚集函数(AVG,SUM,COUNT,MIN,MAX) (十一)

为了汇总数据而不把实际的检索出来,MySQL 提供了专门的函数,聚集函数

好处:可以将检索数据进行分析和报表生成

一、聚集函数(aggregate function): 运行在行组上,计算和返回单个值的函数。

可以用来:

1、确定表中的行数(或满足某个条件 或 包含某个特定值的行数)

2、获得表中行组的行

3、找出表列(或所有行货某些特定的行)的最大值、最小值 和 平均值

都是对表中的数据进行汇总,而不是对实际数据本身,只是一个汇总信息,要返回实际的数据是对时间、处理资源的一种浪费。

MySQL 还支持一系列的标准偏差聚集函数

one、AVG() 函数 计算平均数

avg()通过 对表中行数计数 并计算 特定列值之和,求得该列的平均值。

既可以返回所有列的平均值也可以返回特定列或行的平均值

求出表中所有产品的平均价格

-- 求出商品价格的平均数 
select avg(prod_price) as avgprice from products;

求出表中特定列或行的的平均值

与where 字句连用

-- 求出 供应商是 1003 产品的平均值 
select avg(prod_price) as avgprice from products where vend_id=1003;

注意:

1、AVG() 只能用来确定特定数值列的平均值,而且列名必须作为函数参数给出

2、为了获取多个列的平均值必须使用多个AVG 函数。

3、AVG() 函数忽略列值为NULL 的行。

two、COUNT() 函数 计算总行数

Count() 函数进行计数。 可以利用Count() 函数确定表中行的数目或符合特定条件的行的数目。

COUNT() 函数的两种使用方式:

1、使用Count(*) 对表中的数目进行计数, 不管表列中包含的是空值(NULL) 还是非空值

2、使用count(column) 对特定列中具有值的行进行计数,忽略NULL 值

-- 计算products 表中有几行 
select count(*) as countprod from products;


计算特定行

--  计算  邮件有几行