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值。
极客笔记