分享方式:


COUNT_BIG (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲

此函數會傳回群組中找到的項目數。 COUNT_BIG 的運作方式類似 COUNT 函數。 這些函數唯一的差別就是其傳回值的資料類型。 COUNT_BIG 一律會傳回 bigint 資料類型值。 COUNT 一律會傳回 int 資料類型值。

Transact-SQL 語法慣例 (部分機器翻譯)

語法


-- Aggregation Function Syntax  
COUNT_BIG ( { [ [ ALL | DISTINCT ] expression ] | * } )  
  
-- Analytic Function Syntax  
COUNT_BIG ( [ ALL ] { expression | * } ) OVER ( [ <partition_by_clause> ] )  

引數

ALL
將彙總函式套用至所有值。 全部都可以當作預設值。

DISTINCT
指定 COUNT_BIG 傳回唯一非 Null 值的數目。

expression
任意類型的運算式COUNT_BIG 不支援運算式中的彙總函數或子查詢。

*
指定 COUNT_BIG 應該計算所有資料列,以判斷要傳回的總資料表資料列計數。 COUNT_BIG(*) 不接受任何參數,而且不支援使用 DISTINCT。 COUNT_BIG(*) 不需要 expression 參數,因為依照定義,它不會使用任何特定資料行的相關資訊。 COUNT_BIG(*) 會傳回指定資料表的資料列數,而且它會保留重複的資料列。 會分開計算每個資料列,包括含有 null 值的資料列。

OVER ( [ partition_by_clause ] [ order_by_clause ] )
partition_by_clause 會將 FROM 子句產生的結果集,分割成 COUNT_BIG 函數所要套用的資料分割。 如未指定,此函數會將查詢結果集的所有資料列視為單一群組。 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 子句使用時,是具決定性的函數。 COUNT_BIG 搭配 OVER 和 ORDER BY 子句使用時,不具決定性。 如需詳細資訊,請參閱決定性與非決定性函數

範例

請參閱 COUNT (Transact-SQL) (部分機器翻譯) 以取得範例。

另請參閱

彙總函式 (Transact-SQL)
COUNT (Transact-SQL)
int、bigint、smallint 和 tinyint (Transact-SQL)
OVER 子句 (Transact-SQL)