首页 > 编程笔记 > MySQL笔记 阅读:7

MySQL AVG()函数的用法

MySQL 中的 AVG() 函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。

【实例】在 fruits 表中,查询 s_id=103 的供应商的水果价格的平均值,SQL语句如下:
mysql> SELECT AVG(f_price) AS avg_price FROM fruits WHERE s_id = 103;
+-----------+
| avg_price |
+-----------+
|  5.700000 |
+-----------+
该例中,查询语句增加了一个 WHERE 子句,并且添加了查询过滤条件,只查询 s_id=103 的记录中的 f_price。因此,通过 AVG() 函数计算的结果只是指定的供应商水果的价格平均值,而不是市场上所有水果价格的平均值。

AVG() 函数可以与 GROUP BY 一起使用,用来计算每个分组的平均值。

【实例】在 fruits 表中,查询每一个供应商的水果价格的平均值,SQL 语句如下:
mysql> SELECT s_id,AVG(f_price) AS avg_price FROM fruits GROUP BY s_id;
+------+?-----------+
| s_id | avg_price |
+------+-----------+
|  101 |  6.200000 |
|  103 |  5.700000 |
|  104 |  7.000000 |
|  107 |  3.600000 |
|  102 |  8.933333 |
|  105 |  7.466667 |
|  106 | 15.700000 |
+------+-----------+
GROUP BY 关键字根据 s_id 字段对记录进行分组,然后计算出每个分组的平均值,这种分组求平均值的方法非常有用,例如求不同班级学生成绩的平均值、求不同部门工人的平均工资、求各地的年平均气温等。

提示,AVG() 函数使用时,其参数为需要计算的列名称。如果想要得到多个列的多个平均值,则需要在每一列上使用 AVG() 函数。

相关文章