SQL Server 高階查詢-COUNT()(二)
阿新 • • 發佈:2020-12-07
@
返回內容(行)的個數
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(*) 對整體內容(行)進行計數,計數就會包含空值行。這點要時刻保持清醒!
程式設計要求
我們已經為你建好了資料庫與資料表,並添加了相應的資料內容。你只需補全右側程式碼片段中 Begin-End
區間的程式碼,返回表Products
中商品價格( prod_price
)大於10
的商品個數(只需返回數量即可)。
其中表 Products
的內容不公開,但是已知每個產品的價格非空。期待你的發揮!
測試說明
測試過程:
- 本關涉及到的測試檔案是
step2_test.sh
step2.sql
檔案,得到資料; - 將得到的資料與答案比較,判斷程式碼是否正確。
如果操作正確,你將得到如下的結果:
開始你的任務吧,祝你成功!
USE Mall
GO
SET NOCOUNT ON
------ return the number of product which price bigger than 10 -----
-- ********** Begin ********** --
SELECT COUNT(prod_price)
FROM Products
WHERE prod_price > 10;
-- ********** End ********** --
GO