温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用SQL计算平均值

发布时间:2026-10-10 16:31:02 来源:亿速云 阅读:97 作者:小樊 栏目:编程语言

在 SQL 中,计算平均值通常使用 AVG() 聚合函数。下面从基础到常见场景给你说明。


一、基本用法

SELECT AVG(列名) 
FROM 表名;

示例:
计算员工表 employees 中工资的平均值

SELECT AVG(salary) AS avg_salary
FROM employees;

二、按分组计算平均值(GROUP BY)

SELECT 部门字段, AVG(数值字段)
FROM 表名
GROUP BY 部门字段;

示例:
计算每个部门的平均工资

SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id;

三、带条件的平均值

1️⃣ 使用 WHERE(先过滤再平均)

SELECT AVG(salary) AS avg_salary
FROM employees
WHERE department_id = 10;

2️⃣ 使用 HAVING(对分组结果过滤)

SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id
HAVING AVG(salary) > 5000;

四、忽略 NULL 值说明

  • AVG() 会自动忽略 NULL 值
  • 如果所有值都是 NULL,结果为 NULL

示例:

AVG(NULL, 10, 20) → 15

五、保留小数位数(可选)

不同数据库写法不同:

MySQL

SELECT ROUND(AVG(salary), 2) FROM employees;

SQL Server

SELECT CAST(AVG(salary) AS DECIMAL(10,2)) FROM employees;

六、常见错误

❌ 在 WHERE 中直接使用聚合函数:

WHERE AVG(salary) > 5000  -- 错误

✅ 应使用 HAVING


如果你有具体数据库(MySQL / Oracle / SQL Server)或业务场景(如移动平均、加权平均),我可以给你更精确的写法。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手