MySQL AVG函数的详解
1. 简介
AVG函数是MySQL中的一个聚合函数,用于计算某一列的平均值。它可以应用于数值类型的列,并返回一个浮点数作为结果。
2. 语法
AVG函数的语法如下:
AVG(distinct|all expression)
其中,
distinct
是可选的,表示对不同的值进行计算,即去除重复值。如果不指定,则默认为all
。expression
是被计算平均值的列、表达式或者文本。
3. 示例
假设我们有一个名为students
的表,包含了学生的姓名和成绩信息。表的结构如下:
id | name | score |
---|---|---|
1 | Alice | 80 |
2 | Bob | 90 |
3 | Alice | 85 |
4 | Alice | 75 |
5 | Bob | 70 |
现在我们想要计算学生的平均成绩。我们可以使用AVG函数来实现这个目标。
SELECT AVG(score) FROM students;
上述代码将计算students
表中score
列的平均值,并返回结果。运行结果如下:
+------------+
| AVG(score) |
+------------+
| 80.0 |
+------------+
4. 使用distinct关键字
如果我们想要计算不同学生的平均成绩,可以使用AVG函数的distinct
关键字。
SELECT AVG(DISTINCT score) FROM students;
上述代码将计算students
表中不重复的score
列的平均值,并返回结果。运行结果如下:
+-------------------+
| AVG(DISTINCT score) |
+-------------------+
| 77.5 |
+-------------------+
5. 注意事项
- AVG函数只能应用于数值类型的列或者表达式。
- AVG函数忽略值为NULL的行。
- AVG函数返回一个浮点数结果,即使计算的列是整数。
6. 总结
本文介绍了MySQL AVG函数的语法和用法。AVG函数用于计算某一列的平均值,可以应用于数值类型的列。通过指定distinct
关键字,可以计算不同值的平均值。在使用AVG函数时,需要注意输入的数据类型和NULL值。