17370845950

mysql中聚合函数如何使用_mysql聚合操作方法
聚合函数用于计算并返回单个值,包括COUNT、SUM、AVG、MAX、MIN,常与GROUP BY配合使用;COUNT统计行数,SUM求和,AVG计算平均值,均忽略NULL值;示例涵盖统计非空字段、分组求和及筛选平均工资大于5000的部门,掌握其用法可提升数据分析效率。

在MySQL中,聚合函数用于对一组数据进行计算并返回单个值。常见的聚合函数包括 COUNT、SUM、AVG、MAX 和 MIN。它们通常与 GROUP BY 子句一起使用,用来对数据分组后进行统计分析。

COUNT:统计行数

COUNT 函数用于统计表中的行数,可以统计所有行或某个字段的非空值数量。

示例:
  • SELECT COUNT(*) FROM users; —— 统计 users 表总行数
  • SELECT COUNT(age) FROM users WHERE age IS NOT NULL; —— 统计 age 字段非空的数量

SUM:求和操作

SUM 函数用于对数值型字段求和,忽略 NULL 值。

示例:
  • SELECT SUM(salary) FROM employees; —— 计算所有员工工资总和
  • SELECT department, SUM(salary) FROM employees GROUP BY department; —— 按部门统计工资总额

AVG:计算平均值

AVG 函数返回某字段的平均值,同样会跳过 NULL 值。

示例:
  • SELECT AVG(score) FROM student_scores; —— 计算平均分数
  • SELECT course, AVG(score) FROM student_scores GROUP BY course; —— 按课程计算平均分

MAX 返回字段中的最大值,MIN 返回最小值,可用于数字、字符串或日期类型。

示例:
  • SELECT MAX(price), MIN(price) FROM products; —— 查找产品价格的最高和最低值
  • SELECT name, birth_date FROM users WHERE birth_date = (SELECT MIN(birth_date) FROM users); —— 找出年龄最大的用户

聚合函数常配合 GROUP BY 对数据分组处理,也可通过 HAVING 子句过滤分组结果。例如:

SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 5000;

这条语句按部门分组,并只显示平均工资大于 5000 的部门。

基本上就这些。掌握好聚合函数能有效提升数据分析效率,关键在于理解其作用范围和与 GROUP BY 的配合方式。