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;
计算特定行
-- 计算 邮件有几行