COUNT_BIG (Transact-SQL)
傳回群組中的項目數。 COUNT_BIG 的運作方式類似 COUNT 函數。 這兩個函數的唯一差異是它們的傳回值。 COUNT_BIG 一律會傳回 bigint 資料類型值。 COUNT 一律會傳回 int 資料類型值。
適用於:SQL Server (SQL Server 2008 至目前版本)、Windows Azure SQL 資料庫 (初始版本至目前版本)。 |
語法
COUNT_BIG ( { [ ALL | DISTINCT ] expression } | * )
OVER ( [ partition_by_clause ] order_by_clause )
引數
ALL
將彙總函式套用至所有值。 ALL 是預設值。DISTINCT
指定 COUNT_BIG 傳回唯一非 Null 值的數目。expression
這是任何類型的運算式。 不允許彙總函式和子查詢。*
指定應該計算所有資料列,以傳回資料表中的資料列總數。 COUNT_BIG(*) 沒有參數,無法搭配 DISTINCT 來使用。 COUNT_BIG(*) 不需要 expression 參數,因為依照定義,它不會使用任何特定資料行的相關資訊。 COUNT_BIG(*) 會傳回指定資料表中保留重複項目的資料列數。 它會個別計算每個資料列。 其中包括含有 Null 值的資料列。ALL
將彙總函式套用至所有值。 ALL 是預設值。DISTINCT
指定只在值的每個唯一執行個體上執行 AVG,不論值出現多少次,都是如此。expression
這是精確數值或近似數值資料類型類別目錄的運算式,但 bit 資料類型除外。 不允許彙總函式和子查詢。OVER ( [ partition_by_clause ] order_by_clause**)**
partition_by_clause 會將 FROM 子句產生的結果集分割成函數所要套用的分割區。 如未指定,此函數會將查詢結果集的所有資料列視為單一群組。 order_by_clause 可決定執行作業的邏輯順序。 order_by_clause 是必要項目。 如需詳細資訊,請參閱<OVER 子句 (Transact-SQL)>。
傳回類型
bigint
備註
COUNT_BIG(*) 會傳回群組中的項目數。 其中包括 NULL 值和複本。
COUNT_BIG (ALL expression) 會針對群組中的每個資料列來評估 expression,且會傳回非 Null 值的數目。
COUNT_BIG (DISTINCT expression) 會針對群組中的每個資料列來評估 expression,且會傳回唯一且非 Null 值的數目。
COUNT_BIG 未搭配 OVER 和 ORDER BY 子句使用時,是具決定性函數。 使用 OVER 和 ORDER BY 子句指定時,則不具決定性。 如需詳細資訊,請參閱<決定性與非決定性函數>。