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

细枝末节

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(字段)高

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理