mysql 中avg函数怎么用 avg sql用法_sql


1关:AVG()函数的使用

返回某一字段的平均值

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

语法规则为:

SELECT AVG(column_name) 
 FROM table_name

举个例子

我们想从表 Customers中,检索到所有消费者消费金额的平均值。

Customers的内容如下表所示:

mysql 中avg函数怎么用 avg sql用法_字段_02


输入:

SELECT AVG(cost) as avg_cost
FROM Customers

输出:

avg_cost

2415.26

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

Tips:

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

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

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

举个例子

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

输入:

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

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

编程要求

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

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

提示:

  1. 与本关例子不同的是,在练习中需要你们返回的是 prod_nameprod_price,而不是平均值;
  2. 与本关例子不同的是,在练习中需要你们设置的过滤条件是平均值;
  3. SELECT 语句是可以嵌套使用的,比如有如下形式的代码:
SELECT column_A
FROM table
WHERE column_A < (SELECT column_B FROM table)

测试说明

测试过程:

  • 本关涉及到的测试文件是step1_test.sh,平台将运行用户补全的 step1.sql 文件,得到数据;
  • 将得到的数据与答案比较,判断代码是否正确。

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

mysql 中avg函数怎么用 avg sql用法_数据库_03

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

USE Mall
GO

SET NOCOUNT ON

------ return two columns that the price bigger than average price ------
-- ********** Begin ********** --

SELECT prod_name, prod_price
FROM Products 
WHERE prod_price > 
(SELECT AVG(prod_price) FROM Products);

-- ********** End ********** --

GO

我的解题思路:

的顺序去写,1. FROM 和 JOINs 2. WHERE 3. GROUP BY 4. HAVING 5. SELECT 6. DISTINCT 7. ORDER BY 8. LIMIT / OFFSET
照着这个顺序,你能根据计算机思维去思考怎么过滤和筛选数据
例如这一题,我先写FROM prod_price 再写where条件
where条件再更具要求去写,如根据那个字段去筛选,这一题,是根据字段名 商品价格( prod_price )筛选,然后是运算符,再然后就是嵌套语句,

mysql 中avg函数怎么用 avg sql用法_字段_04


mysql 中avg函数怎么用 avg sql用法_mysql 中avg函数怎么用_05


mysql 中avg函数怎么用 avg sql用法_sql_06


mysql 中avg函数怎么用 avg sql用法_sqlserver_07


mysql 中avg函数怎么用 avg sql用法_sql_08