MySQL学习笔记(十)__常见函数之分组函数

本文深入讲解了分组函数,包括sum求和、avg平均值、max最大值、min最小值和count计算个数的功能和使用场景。探讨了这些函数的特点,如忽略null值、与DISTINCT搭配使用以及在不同存储引擎下的效率比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分组函数

功能:用作统计使用,又称为聚合函数或统计函数或组函数
分类:

           sum 求和 ,
           avg 平均值 ,
           max 最大值 ,
           min 最小值 ,
           count 计算个数

特点:
  1. sum , avg 用于处理数值型
    max , min , count 可以处理任何类型
  2. 分组函数都忽略null值
  3. 可以和 DISTINCT 搭配使用实现去重运算
  4. 一般用 count(*) 统计总行数
  5. 和分组函数一起查询的字段要求是 group by 后的字段

e.g.:简单使用

SELECT SUM(salary) FROM employees;
SELECT AVG(salary) FROM employees; 
SELECT MAX(salary) FROM employees;
SELECT MIN(salary) FROM employees;
SELECT COUNT(salary) FROM employees;

SELECT
    SUM( salary ),
    AVG( salary ) 平均,
    MAX( salary ) 最大,
    MIN( salary ) 最小,
    COUNT( salary ) 个数 
FROM
    employees;

e.g.: 参数支持哪些类型

SELECT SUM(last_name) , AVG(last_name) FROM employees; #值为0,无意义;

e.g.: 是否忽略null

SELECT
    SUM( commission_pct ),
    AVG( commission_pct ) 平均,
    SUM( commission_pct ) / 35 平均1,
    SUM( commission_pct ) / 107 平均2,
    MAX( commission_pct ) 最大,
    MIN( commission_pct ) 最小,
    COUNT( commission_pct ) 个数 
FROM
    employees;

e.g.: 和 DISTINCT 搭配

SELECT
    SUM( DISTINCT salary ),
    SUM( salary ),
    COUNT( DISTINCT salary ),
    COUNT( salary ) 
FROM
    employees;

e.g.: count 函数详解

SELECT COUNT(*) FROM employees; # 统计表中总行数
SELECT COUNT(1) FROM employees; # 传任意常量为参数也是统计表中总行数
效率比较:

MYISAM 存储引擎下,COUNT() 的效率高
INNOBD存储引擎下,COUNT(
) 和 COUNT(1) 的效率差不多,但都比COUNT(字段)要高

e.g.: 和分组查询一同查询的字段有限制

SELECT AVG(salary),employee_id FROM employees;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值