返回組中項(xiàng)目的數(shù)量。
COUNT (
{ [ ALL | DISTINCT ] expression ] | *
} )
ALL
對(duì)所有的值進(jìn)行聚合函數(shù)運(yùn)算。ALL 是默認(rèn)設(shè)置。
DISTINCT
指定 COUNT 返回唯一非空值的數(shù)量。
expression
一個(gè)表達(dá)式,其類型是除 uniqueidentifier、text、image 或 ntext 之外的任何類型。不允許使用聚合函數(shù)和子查詢。
*
指定應(yīng)該計(jì)算所有行以返回表中行的總數(shù)。COUNT(*) 不需要任何參數(shù),而且不能與 DISTINCT 一起使用。COUNT(*) 不需要 expression 參數(shù),因?yàn)楦鶕?jù)定義,該函數(shù)不使用有關(guān)任何特定列的信息。COUNT(*) 返回指定表中行的數(shù)量而不消除副本。它對(duì)每行分別進(jìn)行計(jì)數(shù),包括含有空值的行。
重要 當(dāng)使用 CUBE 或 ROLLUP 時(shí),不支持區(qū)分聚合,例如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用了,Microsoft® SQL Server™ 將返回錯(cuò)誤信息并取消查詢。
int
COUNT(*) 返回組中項(xiàng)目的數(shù)量,這些項(xiàng)目包括 NULL 值和副本。
COUNT(ALL expression) 對(duì)組中的每一行都計(jì)算 expression 并返回非空值的數(shù)量。
COUNT(DISTINCT expression) 對(duì)組中的每一行都計(jì)算 expression 并返回唯一非空值的數(shù)量。
下面的示例查找作者所居住的不同城市的數(shù)量。
USE pubs
GO
SELECT COUNT(DISTINCT city)
FROM authors
GO
下面是結(jié)果集:
-----------
16
(1 row(s) affected)
下面的查詢查找圖書和書名的總數(shù):
USE pubs
GO
SELECT COUNT(*)
FROM titles
GO
下面是結(jié)果集:
-----------
18
(1 row(s) affected)
下面的示例顯示可以與選擇列表中的其它聚合函數(shù)結(jié)合使用的 COUNT(*)。
USE pubs
GO
SELECT COUNT(*), AVG(price)
FROM titles
WHERE advance > $1000
GO
下面是結(jié)果集:
----------- --------------------------
15 14.42
(1 row(s) affected)
相關(guān)文章