MySQL - avg()函数

MySQL - avg()函数 首页 / MySQL入门教程 / 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 average

1. 基本示例  -  执行以下查询,计算表中所有员工的平均工作时间:

mysql> SELECT AVG(working_hours) Avg_working_hours FROM employees;

将得到如下结果:

mysql average

2. 带有WHERE子句的MySQL AVG()函数

WHERE子句指定所选记录必须满足的条件。执行以下查询以计算Working_hours> = 12的员工的平均总工作时间。

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

它将给出以下输出:

mysql average

3. 带有GROUP BY子句的MySQL AVG()函数

GROUP BY子句用于按一个或多个列返回每个组的结果。例如,以下语句使用AVG()函数计算每个员工的平均工作时间,然后将结果与GROUP BY子句分组:

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

在这里,无涯教程可以看到每个员工的总工作时间是根据他们的职业进行分组的。

mysql average

4.具有HAVING子句的MySQL AVG()函数

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 average

5. 带有DISTINCT子句的MySQL AVG()函数

MySQL使用DISTINCT关键字从列名中删除重复行。此子句与此avg()函数一起使用,以返回表中存在的唯一记录数的平均值。

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

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

输出:

mysql average

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品实战 -〔邱岳〕

从0开始学微服务 -〔胡忠想〕

ZooKeeper实战与源码剖析 -〔么敬国〕

安全攻防技能30讲 -〔何为舟〕

说透敏捷 -〔宋宁〕

SRE实战手册 -〔赵成〕

陈天 · Rust 编程第一课 -〔陈天〕

手把手带你搭建秒杀系统 -〔佘志东〕

去无方向的信 -〔小麥〕

好记忆不如烂笔头。留下您的足迹吧 :)