語法
SQL COUNT(column_name) 語法
COUNT(column_name) 函數返回指定列的值的數目(NULL 不計入):
SELECT COUNT(column_name) FROM table_nameSQL COUNT(*) 語法
COUNT(*) 函數返回表中的記錄數:
SELECT COUNT(*) FROM table_nameSQL 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 實例
COUNT和 DISTINCT 常常被合起來使用,目的是找出表格中有多少筆不一樣的資料 (至於這些資料其實是什麼並不重要)。
如今,咱們但願計算 "Orders" 表中不一樣客戶的數目。
咱們使用以下 SQL 語句:
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders結果集相似這樣:
這是 "Orders" 表中不一樣客戶(Bush, Carter 和 Adams)的數目。