正文
介紹
COUNT() 函式返回匹配指定條件的行數。
語法
(1). SQL COUNT(column_name) 語法
COUNT(column_name) 函式返回指定列的值的數目(NULL 不計入):
SELECT COUNT(column_name) FROM table_nameSQL
(2). COUNT(*) 語法
COUNT(*) 函式返回表中的記錄數:
SELECT COUNT(*) FROM table_nameSQL
(3). COUNT(DISTINCT column_name) 語法
COUNT(DISTINCT column_name) 函式返回指定列的不同值的數目:
SELECT COUNT(DISTINCT column_name) FROM table_name
注釋:COUNT(DISTINCT) 適用於 ORACLE 和 Microsoft SQL Server,但是無法用於 Microsoft Access。
實例
我們擁有下列 "Orders" 表:
O_Id
| OrderDate
| OrderPrice
| Customer
|
---|
1
| 2008/12/29
| 1000
| Bush
|
2
| 2008/11/23
| 1600
| Carter
|
3
| 2008/10/05
| 700
| Bush
|
4
| 2008/09/28
| 300
| Bush
|
5
| 2008/08/06
| 2000
| Adams
|
6
| 2008/07/21
| 100
| Carter
|
現在,我們希望計算客戶 "Carter" 的訂單數。 我們使用如下 SQL 語句:
SELECT COUNT(Customer) AS CustomerNilsen FROM OrdersWHERE Customer='Carter'以上 SQL 語句的結果是 2,因為客戶 Carter 共有 2 個訂單:
SQL COUNT(*) 實例 如果我們省略 WHERE 子句,比如這樣:
SELECT COUNT(*) AS NumberOfOrders FROM Orders
結果集類似這樣:
這是表中的總行數。
SQL 實例
現在,我們希望計算 "Orders" 表中不同客戶的數目。
我們使用如下 SQL 語句:
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders結果集類似這樣:
這是 "Orders" 表中不同客戶(Bush, Carter 和 Adams)的數目。