正文
介紹
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 個訂單:
CustomerNilsen |
2 |
SQL COUNT(*) 實例 如果我們省略 WHERE 子句,比如這樣:
SELECT COUNT(*) AS NumberOfOrders FROM Orders結果集類似這樣:
NumberOfOrders |
6 |
這是表中的總行數。
SQL 實例
現在,我們希望計算 "Orders" 表中不同客戶的數目。
我們使用如下 SQL 語句:
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders結果集類似這樣:
這是 "Orders" 表中不同客戶(Bush, Carter 和 Adams)的數目。
NumberOfCustomers |
3 |