信息发布→ 登录 注册 退出

SQL 聚合函数 COUNT、SUM、AVG 怎么用?

发布时间:2025-10-05

点击量:
COUNT、SUM、AVG是常用SQL聚合函数,分别用于统计行数、求和与计算平均值。COUNT(*)统计所有行,COUNT(列名)统计非NULL值,COUNT(DISTINCT 列名)统计去重后的非NULL值;SUM对数值列求和,忽略NULL,仅适用于数值类型;AVG计算平均值,为SUM除以非NULL行数。这些函数可单独使用或与GROUP BY结合分组统计,常配合WHERE筛选数据。正确处理NULL值可避免结果偏差,满足多数基础统计需求。

SQL 聚合函数用于对一组值执行计算并返回单个值。常用的聚合函数有 COUNTSUMAVG,它们通常与 GROUP BY 子句一起使用,也可以单独使用。

COUNT:统计行数

COUNT 用来统计满足条件的行数。

  • COUNT(*) 统计所有行,包括 NULL 值。
  • COUNT(列名) 统计该列非 NULL 的行数。
  • COUNT(DISTINCT 列名) 统计该列中不同(去重)且非 NULL 的值的个数。

例如,统计员工表中有多少人:

COUNT(*) FROM employees;

统计有上级领导的员工数量:

COUNT(manager_id) FROM employees;

统计不同部门的数量:

COUNT(DISTINCT department_id) FROM employees;

SUM:求和

SUM 计算某列数值的总和,忽略 NULL 值。

  • 只能用于数值类型的列。
  • 如果所有值都是 NULL,结果为 NULL。

例如,计算所有员工的工资总和:

SUM(salary) FROM employees;

计算销售部门员工的工资总和:

SUM(salary) FROM employees WHERE department = 'Sales';

AVG:计算平均值

AVG 返回某列的平均值,自动忽略 NULL 值。

  • 同样只适用于数值类型。
  • 是 SUM 除以 COUNT 的结果(非 NULL 个数)。

例如,计算员工的平均工资:

AVG(salary) FROM employees;

按部门分组查看平均工资:

department_id, AVG(salary) FROM employees GROUP BY department_id;

基本上就这些。用好这三个函数,配合 GROUP BY 和 WHERE,就能完成大多数基础统计需求。注意处理 NULL 值的影响,避免误判结果。

标签:# 聚合函数  # sql  # NULL  # count  # 值类型  # 行数  # 适用于  # 都是  # 平均工资  # 子句  # 就能  # 中有  # 这三个  # 多少人  # 或与  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!