聚集函数
我们经常需要汇总数据并不需要把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成。
这种类型的检索例子有以下几种:
确定表中行数(或者满足某个条件或者是包含某个特定值的条件)
确定表中行组的和。
找出表列中的最大值、最小值和平均值。
MySQL给出了5个聚集函数。如下:
AVG()
SUM()
MAX()
MIN()
COUNT()
根据函数名,相信他的功能应该就相当清晰了。
下面对这些函数一一进行练习操作。
AVG()
此函数一般用于求某列(可能会指定条件)的平均值。
用法如下:
select AVG(colName) from tableName ;
select AVG(colName) from tableName where some condtion;
MAX()/MIN()
此函数用于求取 某列(可能会指定条件)的最大值/最小值。
在这个练习中遇到了一个小bug,去别名的时候不能去maxValue这样的别名,即不能取那些聚集函数后面拼接字符的别名,如下:
注意:虽然MAX()一般用来找出最大的数值或日期值,但是MySQL允许它用来返回任意列中的最大值,包括返回文本列中的最大值。
SUM()
此函数一般用于求取 某列(可能会指定条件)的总和。
COUNT()
一般用于返回某列(可能会指定条件)的行数。
注意:count(*) 统计所有行(包括NULL的行);
count(corName) 就会忽略值为NULL的行。
小结
avg()/max()/min()/sum()/count(),当参数为指定列的时候,会忽略掉值为NULL的行。