MySQL avg函数

MySQL avg函数

MySQL的avg()函数是一种聚合函数,用于返回多条记录中表达式的平均值。

语法

MySQL中avg()函数的基本语法如下:

SELECT AVG(aggregate_expression)  
FROM tables  
[WHERE conditions];

参数解释

aggregate_expression: 它指定我们要找到平均结果的列或表达式。

table_name: 它指定我们要从中检索记录的表。FROM子句中必须至少列出一个表。

WHERE conditions: 它是可选的。它指定记录必须满足的条件。

MySQL avg()函数示例

考虑到我们的数据库有一个名为 employees 的表,其中包含以下数据。现在,我们将通过各种示例来了解这个函数:

MySQL avg函数

1.基本示例

执行以下查询,计算表中所有员工的 平均工作小时数

mysql> SELECT AVG(working_hours) Avg_working_hours FROM employees;

输出:

我们将会得到以下结果:

MySQL avg函数

2. 使用WHERE子句的MySQL avg函数

WHERE子句用于指定所选记录必须满足的条件。执行以下查询来计算工作小时数平均值超过12的员工的总工作小时数。 **working_hours >= 12 ** 。

mysql> SELECT AVG(working_hours) Avg_working_hours FROM employees WHERE working_hours>=12;

输出:

它将会给出以下的输出:

MySQL avg函数

3. MySQL avg函数与GROUP BY子句

GROUP BY子句用于根据一个或多个列返回每个分组的结果。例如,此语句使用AVG()函数计算每个员工的平均工作小时数,然后使用GROUP BY子句对结果进行分组:

mysql> SELECT emp_name, occupation, AVG(working_hours) Avg_working_hours FROM employees GROUP BY occupation;

输出:

在这里,我们可以看到根据 occupation 将每个员工的总工作小时进行分组计算。

MySQL avg函数

4. MySQL avg函数和HAVING子句

HAVING子句用于进行MySQL中组的平均值过滤。执行以下语句,计算所有员工的平均工作小时数,并根据职业对它们进行分组,并返回结果,使其 **Avg_working_hours >9 ** 。

mysql> SELECT emp_name, occupation, 
AVG(working_hours) Avg_working_hours 
FROM employees 
GROUP BY occupation 
HAVING AVG(working_hours)>9;

输出:

MySQL avg函数

5. MySQL avg函数与DISTINCT子句

MySQL使用DISTINCT关键字来删除列名中的重复行。这个子句与avg()函数一起使用,返回表中独特记录的平均值。

执行以下查询,删除employee表的working_hours列中的重复记录,然后返回平均值:

mysql> SELECT emp_name, occupation, 
AVG(DISTINCT working_hours) Avg_working_hours
FROM employees
GROUP BY occupation;

输出:

MySQL avg函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程