数据库15:AVG() 函数的使用(头歌云课)

文章介绍了如何使用SQL中的AVG()函数来计算数据表中指定字段的平均值,包括无条件和有条件的情况。提供了示例代码解释如何检索平均消费金额,并强调了为检索结果起别名的重要性。在编程要求部分,任务是找到商品价格高于平均值的商品名称和价格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


(1)任务描述

本关任务:使用函数 AVG() 计算数据表中指定字段的平均值。

(2)相关知识

为了完成本关任务,你需要掌握:1. AVG() 函数的含义,2. AVG() 函数的用法。

(3)返回某一字段的平均值

AVG() 函数通过计算某字段(列)内容(行)的个数和它们的数值之和来返回某一字段的平均值。

语法规则为:

SELECT AVG(column_name)
FROM table_name

举个例子 我们想从表 Customers 中,检索到所有消费者消费金额的平均值。 表 Customers 的内容如下表所示:

输入:

SELECT AVG(cost) as avg_cost
FROM Customers

输出:

avg_cost
12415.26

在这个例子里, SELECT 语句只负责返回一个值,这个值就是 avg_cost 。 avg_cost 是我们为检索数据起的“小名”,它包含着所有消费者消费金额的平均值。

Tips: 如果你没有为你的检索结果起个“小名”, 那它就只能是供你观赏的一个值,在接下来的操作中,你将不能继续使用它。所以为了以防万一,好的习惯是为自己每一个检索结果,都起一个有意义的名字,好看又好记。

(4)返回某一字段指定内容的平均值

AVG() 函数不仅能计算某字段(列)的平均值,如果你愿意,还能为 SELECT 语句增加条件,以此来计算某些特定条件下某字段的平均值。

举个例子 我们想从表 Customers 中,检索到所有叫 Alice 的消费者消费金额的平均值。表 Customers 的内容与上例一致。

输入:

SELECT AVG(cost) as avg_alice_cost
FROM Customers
WHERE cust_name LIKE 'Alice%'

与上例不同的是,我们在这里加入了条件筛选语句 WHERE。WHERE 语句帮我们过滤了所有不叫 Alice 的人,因此,我们所查到的消费金额平均值是所有叫 Alice 的人的消费平均值。

(5)编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。你只需补全右侧代码片段中 Begin-End 区间的代码,返回表 Products 中商品价格( prod_price )大于平均值的商品的 prod_name 和 prod_price。

其中表 Products 的内容如下表所示:

提示:

  1. 与本关例子不同的是,在练习中需要你们返回的是 prod_name 和 prod_price,而不是平均值;

  2. 与本关例子不同的是,在练习中需要你们设置的过滤条件是平均值;

  3. SELECT 语句是可以嵌套使用的,比如有如下形式的代码.


SELECT column_A
FROM table
WHERE column_A < (SELECT column_B FROM table)

测试说明

测试过程:

  • 本关涉及到的测试文件是 step1_test.sh,平台将运行用户补全的 step1.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

如果操作正确,你将得到如下的结果:


开始你的任务吧,祝你成功!

实验代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值