关于mysql:MySQL学习笔记05分组函数

4次阅读

共计 650 个字符,预计需要花费 2 分钟才能阅读完成。

细枝末节

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(字段) 高 
正文完
 0