MySQL中如何求平均值常见实例(AVG函数详解)
作者:nj0128
MySQL avg()是一个聚合函数,用于返回各种记录中表达式的平均值,这篇文章主要介绍了MySQL中用AVG函数如何求平均值的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
前言
在使用 MySQL 进行数据分析时,计算平均值是最常见的需求之一。MySQL 提供了内置的聚合函数 AVG() 来帮助我们轻松完成这一任务。本文将详细介绍 AVG() 函数的使用方法及常见示例。
一、基本语法
SELECT AVG(column_name) FROM table_name;
AVG():表示求平均值的聚合函数。column_name:要计算平均值的字段(列名)。table_name:包含该字段的表名。
二、示例讲解
假设我们有一张名为 grades 的表,表结构如下:
| id | name | course | score |
|---|---|---|---|
| 1 | Tom | Math | 85 |
| 2 | Alice | Math | 90 |
| 3 | Bob | English | 78 |
| 4 | Jane | Math | 95 |
1. 计算全表平均分
SELECT AVG(score) FROM grades;
输出将是所有记录中 score 字段的平均值。
2. 计算某门课程的平均分(例如:Math)
SELECT AVG(score) FROM grades WHERE course = 'Math';
输出将是 course 等于 'Math' 的记录中 score 字段的平均值。
三、结合分组统计平均值(GROUP BY)
如果你想分别统计每门课程的平均分,可以使用 GROUP BY:
SELECT course, AVG(score) AS average_score FROM grades GROUP BY course;
输出结果将是每门课程对应的平均分数。
四、处理空值(NULL)
AVG() 函数在计算时会自动忽略 NULL 值,因此不需要手动筛除:
SELECT AVG(score) FROM grades; -- NULL 值将被自动排除,不影响平均值
五、小结
- 使用
AVG()可以轻松统计列的平均值。 - 可以搭配
WHERE、GROUP BY等语句进行更复杂的数据分析。 AVG()会自动忽略NULL值,避免错误。
在日常开发中,平均值的统计常用于报表、用户行为分析、商品评分等业务场景,是非常实用的 SQL 技巧。
附一个完整示例
假设表结构如下:
CREATE TABLE grades (
id INT PRIMARY KEY,
name VARCHAR(50),
course VARCHAR(50),
score DECIMAL(5,2)
);
INSERT INTO grades VALUES
(1, 'Tom', 'Math', 85.0),
(2, 'Alice', 'Math', 90.0),
(3, 'Bob', 'English', 78.0),
(4, 'Jane', 'Math', 95.0);查询每门课程的平均分(保留2位小数):
SELECT
course,
ROUND(AVG(score), 2) AS average_score
FROM grades
GROUP BY course;输出结果:
course | average_score --------|-------------- Math | 90.00 English | 78.00
到此这篇关于MySQL中如何求平均值的文章就介绍到这了,更多相关MySQL AVG函数求平均值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
