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