细枝末节
1. 本节函数都忽略NULL值,不计算
2. sum()、avg()通常用于处理数值型
3. max()、min()、count()能够处理任何类型
4. 本节函数可与distinct搭配实现去重运算
5. 和分组函数一块儿查询的字段要求是GROUP BY后的字段
函数
sum()
做用
对参数中的值求和
示例
/* 从mytable中查询全部salary的和 */
SELECT
sum(salary)
FROM
mytable;
avg()
做用
对参数中的值求平均数
示例
/* 从mytable中查询全部用户salary的平均值 */
SELECT
avg(salary)
FROM
mytable;
max()
做用
对参数中值求最大值
示例
/* 从mytable中查询最大的salary */
SELECT
max(salary)
FROM
mytable;
min()
做用
对参数中的值求最小值
示例
/* 从mytable中查询最小的salary */
SELECT
min(salary)
FROM
mytable;
count()
做用
计算参数中记录的个数
示例
/* 从mytable中计算出id总个数 */
SELECT
count(id)
FROM
mytable;
备注
1. count()忽略NULL,通常使用count(*)计算全部记录数
2. count(1)添加一个字段,全部值都是1,统计1的个数即统计全部记录
3. 效率:
MYISAM引擎:引擎中有内部计数器,能够直接返回个数,count(*)效率高
INNODB引擎:count(*)与count(1)效率至关,可是都比count(字段)高