(1)任务描述
本关任务:使用函数 COUNT(),计算数据表中指定字段(列)的内容(行)个数。
(2)相关知识
为了完成本关任务,你需要掌握:1. COUNT() 函数的含义,2. COUNT() 函数的用法。
(3)返回内容(行)的个数
COUNT() 函数的作用就像它的函数名一样能让大家一目了然,没错,它就是用来计数的。
COUNT() 函数有两种使用方法:
- 使用 COUNT(*) 能对整张表的内容(行)进行计数,不管内容(行)是有值还是空值。
- 使用 COUNT(字段) 能对某一字段的内容(行)进行计数,但是会忽略 NULL 值。
语法规则为:
1.
SELECT COUNT(*)
FROM 表名
2.
SELECT COUNT(字段名)
FROM 表名
举个例子 我们想从表 Customers 中,检索到整张表一共有多少内容(行)。 表 Customers 的内容如下图所示:
输入:
SELECT COUNT(*) AS nums
FROM Customers
输出:
检索过程为:
在这个例子里, COUNT(*) 用来对整张表的内容(行)进行计数,忽略了内容是否为空值。计数的结果最后返回到了 nums 。
再举个例子 我们想从表 Customers 中,检索到究竟有多少人拥有邮箱地址。表 Customers 的内容与上例一致。
输入:
SELECT COUNT(cust_email) AS nums
FROM Customers
输出:
检索过程为:
SELECT 语句使用了 COUNT(cust_email) 来对 cust_email 字段下的非空值进行计数。在这个例子中,我们看到有五分之四的人拥有自己的邮箱。
Tips: 当我们指定对某一个字段(列)进行计数时,COUNT() 就会忽略 NULL 对非空值进行计数。但是如果没有指定字段(列),使用 COUNT(*) 对整体内容(行)进行计数,计数就会包含空值行。这点要时刻保持清醒!
(4)编程要求
我们已经为你建好了数据库与数据表,并添加了相应的数据内容。你只需补全右侧代码片段中 Begin-End 区间的代码,返回表 Products 中商品价格( prod_price )大于 10 的商品个数(只需返回数量即可)。
其中表 Products 的内容不公开,但是已知每个产品的价格非空。期待你的发挥!
测试说明
测试过程:
-
本关涉及到的测试文件是 step2_test.sh ,平台将运行用户补全的 step2.sql 文件,得到数据;
-
将得到的数据与答案比较,判断代码是否正确。
如果操作正确,你将得到如下的结果:
开始你的任务吧,祝你成功!
注意此题:不需要AS nums!!!!因为AS 是用于命名的,本次实训答案中并没有要求命名为nums。
实验代码