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()
函数,以及与之相关的函数,来得到我们想要的结果。