MariaDB AVG() 函数的基础用法与实例

MariaDB AVG() 函数是一个聚合函数,它用于返回一组数值的平均值,即所有数值的总和除以数值的个数。该函数可以用于计算一列或一个表达式的平均值,或者进行统计分析。

发布于

MariaDB AVG() 函数是一个聚合函数,它用于返回一组数值的平均值,即所有数值的总和除以数值的个数。该函数可以用于计算一列或一个表达式的平均值,或者进行统计分析。

语法

MariaDB AVG() 函数的语法如下:

AVG(expr)

其中,expr 参数是要返回平均值的数值,可以是一个列名,一个常量,一个函数,或者一个表达式。如果 expr 参数是 NULL,那么 MariaDB AVG() 函数会忽略它。如果 expr 参数没有任何非 NULL 的数值,那么 MariaDB AVG() 函数会返回 NULL

实例

下面是一些使用 MariaDB AVG() 函数的实例:

返回一个常量的平均值

SELECT AVG(10) AS result;

输出结果如下:

+--------+
| result |
+--------+
|     10 |
+--------+

这个实例中,我们使用 MariaDB AVG() 函数返回 10 这个常量的平均值,得到 10。这是因为 MariaDB AVG() 函数会将一个常量视为一个只有一个元素的集合,因此其平均值就是其本身。

返回一个表达式的平均值

SELECT AVG(2 * 3) AS result;

输出结果如下:

+--------+
| result |
+--------+
|      6 |
+--------+

这个实例中,我们使用 MariaDB AVG() 函数返回 2 * 3 这个表达式的平均值,得到 6。这是因为 MariaDB AVG() 函数会先计算表达式的值,然后再返回其平均值,因此其结果与实例 1 相同。

返回一个列的平均值

假设我们有一个名为 scores 的表,它包含了学生的姓名和成绩,如下所示:

name score
Alice 90
Bob 80
Cindy 85
David NULL
Eve 95

我们可以使用 MariaDB AVG() 函数返回 score 列的平均值,如下所示:

SELECT AVG(score) AS result FROM scores;

输出结果如下:

+--------+
| result |
+--------+
|  87.50 |
+--------+

这个实例中,我们使用 MariaDB AVG() 函数返回 score 列的平均值,得到 87.50。这是因为 MariaDB AVG() 函数会忽略 NULL 值,只计算非 NULL 的数值的平均值,因此其结果是 (90 + 80 + 85 + 95) / 4

返回一个分组的平均值

我们可以使用 MariaDB AVG() 函数结合 GROUP BY 子句,来返回一个分组的平均值。例如,假设我们有一个名为 orders 的表,它包含了订单的编号、客户的姓名、产品的名称和价格,如下所示:

order_id customer product price
1 Alice A 10
2 Alice B 20
3 Bob C 30
4 Bob D 40
5 Cindy E 50
6 Cindy F 60

我们可以使用 MariaDB AVG() 函数返回每个客户的平均订单价格,如下所示:

SELECT customer, AVG(price) AS result FROM orders GROUP BY customer;

输出结果如下:

+----------+--------+
| customer | result |
+----------+--------+
| Alice    |   15.0 |
| Bob      |   35.0 |
| Cindy    |   55.0 |
+----------+--------+

这个实例中,我们使用 MariaDB AVG() 函数结合 GROUP BY 子句,返回每个客户的平均订单价格,得到上表的结果。这是因为 MariaDB AVG() 函数会根据分组的条件,计算每个分组的平均值,例如,Alice 的平均订单价格是 (10 + 20) / 2

返回一个带有条件的平均值

我们可以使用 MariaDB AVG() 函数结合 WHERE 子句,来返回一个带有条件的平均值。例如,假设我们有一个名为 employees 的表,它包含了员工的姓名、性别和工资,如下所示:

name gender salary
Alice F 5000
Bob M 6000
Cindy F 7000
David M 8000
Eve F 9000

我们可以使用 MariaDB AVG() 函数返回女性员工的平均工资,如下所示:

SELECT AVG(salary) AS result FROM employees WHERE gender = 'F';

输出结果如下:

+--------+
| result |
+--------+
| 7000.0 |
+--------+

这个实例中,我们使用 MariaDB AVG() 函数结合 WHERE 子句,返回女性员工的平均工资,得到 7000.0。这是因为 MariaDB AVG() 函数会根据条件,只计算符合条件的数值的平均值,例如,女性员工的平均工资是 (5000 + 7000 + 9000) / 3

相关函数

除了 MariaDB AVG() 函数之外,还有一些与之相关的函数,它们也可以用于计算一组数值的统计值,或者进行统计分析。下面是一些常用的函数:

  • MariaDB SUM() 函数:用于返回一组数值的总和,即所有数值的相加的结果。例如,SUM(1, 2, 3) 返回 6
  • MariaDB COUNT() 函数:用于返回一组数值的个数,即所有非 NULL 的数值的数量。例如,COUNT(1, 2, NULL, 3) 返回 3
  • MariaDB MIN() 函数:用于返回一组数值的最小值,即所有数值中的最小的一个。例如,MIN(1, 2, 3) 返回 1
  • MariaDB MAX() 函数:用于返回一组数值的最大值,即所有数值中的最大的一个。例如,MAX(1, 2, 3) 返回 3

结论

MariaDB AVG() 函数是一个简单而实用的函数,它可以用于返回一组数值的平均值,即所有数值的总和除以数值的个数。该函数可以用于计算一列或一个表达式的平均值,或者进行统计分析。在处理一组数值的平均值时,我们可以灵活地使用 MariaDB AVG() 函数,以及与之相关的函数,来得到我们想要的结果。