AVG()是MySQL中计算列平均值的聚合函数,忽略NULL值。基本语法为SELECT AVG(列名) FROM 表名;可结合WHERE筛选条件,如SELECT AVG(score) FROM students WHERE subject = 'math' AND score > 60;使用GROUP BY按字段分组计算平均值,如SELECT subject, AVG(score) AS avg_score FROM students GROUP BY subject;若列值为整数,可用ROUND(AVG(score), 2)保留两位小数。

在 MySQL 中,AVG() 是一个聚合函数,用于计算某列数值的平均值。它会自动忽略 NULL 值,只对非空数值进行计算。
基本语法
使用 AVG() 的基本语法如下:
SELECT AVG(列名) FROM 表名 WHERE 条件;例如,假设有一张名为 students 的表,包含字段 score(成绩),你想计算所有学生的平均分:
SELECT AVG(score) AS average_score FROM students;查询结果将返回一个名为 average_score 的列,显示 score 字段的平均值。
结合条件筛选使用
你可以配合 WHERE 子句来计算满足特定条件的数据平均值。
比如,只计算数学成绩大于 60 分的学生的平均分:
SELECT AVG(score) AS average_score FROM students WHERE subject = 'math' AND score > 60;按分组计算平均值
使用 GROUP BY 可以按某一字段分组计算每组的平均值。
例如,计算每个科目的平均成绩:
SELECT subject, AVG(score) AS avg_score FROM students GROUP BY subject;结果会列出每个科目及其对应的平均分。
处理整数除法问题
如果 score 是整数类型,AVG() 返回的结果可能保留小数。如需控制小数位数,可用 ROUND() 函数:
SELECT ROUND(AVG(score), 2) AS average_score FROM students;这会将平均值保留两位小数。
基本上就这些。AVG() 简单实用,常用于统计分析场景,注意确保目标列是数值类型,并根据需要配合 WHERE、GROUP BY 和 ROUND 使用。










