数据库统计SUM求和和AVG平均数
前言
在MySQL数据库中,SUM
和 AVG
是最常用的聚合函数之一,分别用于对某一列进行求和和求平均值。它们常用于数据统计、报表分析等场景。本文将详细介绍这两个函数的用法,并提供常见案例和示例代码。
一、SUM函数——求和
1. 基本语法
SELECT SUM(列名) FROM 表名 WHERE 条件;
2. 示例
假设有一个员工表 employees
,结构如下:
id | name | salary |
---|---|---|
1 | 张三 | 5000 |
2 | 李四 | 7000 |
3 | 王五 | 6000 |
计算所有员工的工资总和
SELECT SUM(salary) AS total_salary FROM employees;
结果:
total_salary |
---|
18000 |
按部门统计工资总和
假设表结构增加了 department
字段:
SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department;
3. 结合条件使用
SELECT SUM(salary) FROM employees WHERE salary > 6000;
二、AVG函数——平均数
1. 基本语法
SELECT AVG(列名) FROM 表名 WHERE 条件;
2. 示例
计算所有员工的平均工资
SELECT AVG(salary) AS avg_salary FROM employees;
结果:
avg_salary |
---|
6000 |
按部门统计平均工资
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;
3. 结合条件使用
SELECT AVG(salary) FROM employees WHERE department = '技术部';
三、常见注意事项
SUM
和AVG
只统计数值型字段,非数值型字段会报错。- 如果某些行的字段值为
NULL
,则这些行不会参与计算。 - 可以与
GROUP BY
、HAVING
等语句结合使用,实现更复杂的统计需求。
四、综合案例
统计每个部门工资总和大于10000的部门及其平均工资
SELECT department, SUM(salary) AS total_salary, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
HAVING total_salary > 10000;
通过上述介绍,相信你已经掌握了MySQL中SUM
和AVG
的基本用法及常见场景。实际开发中可以根据业务需求灵活组合使用,提升数据统计与分析的效率。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据