(1)任务描述
本关任务:使用函数 SUM(),计算数据表中指定字段的数值之和。
(2)相关知识
为了完成本关任务,你需要掌握:1. SUM() 函数的含义,2. SUM() 函数的用法。
(3)返回某一字段的数值之和
SUM() 是用来返回某一字段(列)数值总和的函数,初学的学习者很容易把它和 COUNT() 函数搞混。
因为在某个条件下,他们返回的是相同的值。比如,在你要统计的字段的内容(行) 都为 1 时,不管你是进行计数还是加和,结果都是相同的。
但是只要记住,COUNT() 函数只能用来计数就可以了,就像数鸭子一样。
下面,我们来看看如何使用 SUM() 函数。
语法规则为:
SELECT SUM(字段名)
FROM 表名
举个例子 我们想从表 Customers 中,检索所有消费者消费金额的总和。 表 Customers 的内容如下图所示:
输入:
SELECT SUM(cost) as total
FROM Customers
输出:
在这个例子中,SUM(cost) 函数为我们返回了 cost 字段中所有内容的加和,非常方便。
(4)返回某一字段经过计算后的数值之和
你以为 SUM() 函数只能这么用吗?它还有更棒的地方,我们还可以在函数内做你喜欢的计算,说起来,它就是数学中的∑符号。
举个例子 如果商场决定为每一位顾客打八折,那商场在原基础上将会损失多少营业额呢? 表 Customers 的内容与上例相同。
输入:
SELECT SUM(cost - cost * 0.8) as total
FROM Customers
输出:
在这个例子中,SUM(cost - cost * 0.8) 函数为我们累加了商场为每一位顾客优惠的价格,也就是商场的的“损失”咯。
Tips: 如果碰见了空值 NULL ,SUM() 函数会自动忽略它。
现在轮到你们来练练手了。
(5)编程要求
我们已经为你建好了数据库与数据表,并添加了相应的数据内容。 你只需:
- 补全右侧代码片段中 Begin-End 区间的代码,这次我们在表 Products 中增加了 quantity(数量)字段,请返回所有商品的价格与数量乘积的总和(即总库存的金额),并命名它为 amount。
其中表 Products 的内容如下表所示:
测试说明
-
本关涉及到的测试文件是 step4_test.sh ,平台将运行用户补全的 step4.sql 文件,得到数据;
-
将得到的数据与答案比较,判断代码是否正确。
如果操作正确,你将得到如下的结果:
开始你的任务吧,祝你成功!
实验代码