语法
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)的数目。