SQL COUNT() -funktio

COUNT() funktio palauttaa määritellyn ehdolla olevien rivien määrän.

SQL COUNT() syntaksi

SQL COUNT(column_name) syntaksi

COUNT(column_name) funktio palauttaa määritellyn sarakkeen arvojen määrän (NULL ei lasketa):

SELECT COUNT(column_name) FROM table_name

SQL COUNT(*) syntaksi

COUNT(*) funktio palauttaa taulun rikkoutuneiden tietueiden määrän:

SELECT COUNT(*) FROM table_name

SQL COUNT(DISTINCT column_name) syntaksi

COUNT(DISTINCT column_name) funktio palauttaa määritellyn sarakkeen eri arvojen määrän:

SELECT COUNT(DISTINCT column_name) FROM table_name

Huomautus:COUNT(DISTINCT) ongelma soveltuu ORACLE ja Microsoft SQL Serverille, mutta sitä ei voi käyttää Microsoft Accessissä.

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 语句:

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer='Carter'

以上 SQL 语句的结果是 2,因为客户 Carter 共有 2 个订单:

CustomerNilsen
2

SQL COUNT(*) 实例

如果我们省略 WHERE 子句,比如这样:

SELECT COUNT(*) AS NumberOfOrders FROM Orders

结果集类似这样:

NumberOfOrders
6

这是表中的总行数。

SQL COUNT(DISTINCT column_name) 实例

现在,我们希望计算 "Orders" 表中不同客户的数目。

我们使用如下 SQL 语句:

SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders

结果集类似这样:

NumberOfCustomers
3

这是 "Orders" 表中不同客户(Bush, Carter 和 Adams)的数目。