COUNT() 函数返回匹配指定条件的行数。
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name;
COUNT(*) 函数返回表中的记录数:
SELECT COUNT(*) FROM table_name;
COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:
SELECT COUNT(DISTINCT column_name) FROM table_name;
注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。
在本教程中,我们将使用众所周知的 Northwind 样本数据库。
下面是选自 "Orders" 表的数据:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10265 | 7 | 2 | 1996-07-25 | 1 |
10266 | 87 | 3 | 1996-07-26 | 3 |
10267 | 25 | 4 | 1996-07-29 | 1 |
下面的 SQL 语句计算 "Orders" 表中 "CustomerID"=7 的订单数:
SELECT COUNT(CustomerID) AS OrdersFromCustomerID7 FROM Orders
WHERE CustomerID=7;
下面的 SQL 语句计算 "Orders" 表中的订单总数:
SELECT COUNT(*) AS NumberOfOrders FROM Orders;
下面的 SQL 语句计算 "Orders" 表中不同客户的数目:
SELECT COUNT(DISTINCT CustomerID) AS NumberOfCustomers FROM Orders;