SQL COUNT()
COUNT() 函数返回匹配指定条件的行数。 ¶
SQL COUNT() 语法 ¶
SQL COUNT(column_name) 语法 ¶
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
sql
1SELECT COUNT(column_name) FROM table_nameSQL COUNT(*) 语法 ¶
COUNT(*) 函数返回表中的记录数:
sql
1SELECT COUNT(*) FROM table_nameSQL COUNT(DISTINCT column_name) 语法 ¶
COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:
sql
1SELECT COUNT(DISTINCT column_name) FROM table_name注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。
SQL COUNT(column_name) 实例 ¶
我们拥有下列 “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 语句:
sql
1SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE Customer='Carter'以上 SQL 语句的结果是 2,因为客户 Carter 共有 2 个订单:
| CustomerNilsen |
|---|
| 2 |
SQL COUNT(*) 实例 ¶
如果我们省略 WHERE 子句,比如这样:
sql
1SELECT COUNT(*) AS NumberOfOrders FROM Orders结果集类似这样:
| NumberOfOrders |
|---|
| 6 |
这是表中的总行数。
SQL COUNT(DISTINCT column_name) 实例 ¶
现在,我们希望计算 “Orders” 表中不同客户的数目。
我们使用如下 SQL 语句:
sql
1SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders结果集类似这样:
| NumberOfCustomers |
|---|
| 3 |
这是 “Orders” 表中不同客户(Bush, Carter 和 Adams)的数目。