详解MySQL的AVG()函数:查询平均值

  • Post category:MySQL

MySQL的AVG()函数是一种聚合函数,用于计算一组值的平均值。它可以在SELECT语句中使用,也可以用于子查询或内联视图中。下面我将详细介绍AVG()函数的用法和实例。

语法

AVG()函数的语法如下:

AVG(expression)

其中,expression是需要计算平均值的列名或表达式。

参数

AVG()函数只有一个参数expression,表示需要计算平均值的列名或表达式。

返回值

AVG()函数返回一组数值的平均值。如果结果包含小数,则结果为浮点数;如果结果只包含整数,则结果为整数。

示例

下面提供两个使用AVG()函数的示例:

示例1:计算一个表中某列的平均值

假设有一个学生表students,其中有学生的姓名、年龄和成绩等列。现在需要计算该表中学生的平均成绩,可以使用以下SELECT语句:

SELECT AVG(score) FROM students;

这个语句将返回该表中所有学生的平均成绩。

示例2:结合GROUP BY计算不同组的平均值

假设有一个商品表products,其中包含了每个商品的名称、价格和所属的类别。现在需要计算该表中每个类别的平均价格,可以使用以下SELECT语句:

SELECT category, AVG(price) FROM products GROUP BY category;

这个语句将返回按类别分组后,每个类别的平均价格。

注意事项

  1. AVG()函数只能用于数值类型的列。

  2. 如果在AVG()函数中出现NULL值,则结果也为NULL。如果需要忽略NULL值,则可以使用AVG(expression IGNORE NULLS)语法。

  3. AVG()函数也可以嵌套使用,比如可以计算某列数值的平均值的平均值,例如:

SELECT AVG(AVG(score)) FROM students;

这个语句将返回该表中所有学生平均成绩的平均值。

以上就是AVG()函数的相关介绍和示例。如果还有不清楚的地方,欢迎继续问我。