共用方式為


COUNT_BIG (Transact-SQL)

傳回群組中的項目數。 COUNT_BIG 的運作方式類似 COUNT 函數。 這兩個函數的唯一差異是它們的傳回值。 COUNT_BIG 一律會傳回 bigint 資料類型值。 COUNT 一律會傳回 int 資料類型值。

適用於:SQL Server (SQL Server 2008 至目前版本)、Windows Azure SQL 資料庫 (初始版本至目前版本)。

主題連結圖示 Transact-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 子句指定時,則不具決定性。 如需詳細資訊,請參閱<決定性與非決定性函數>。

請參閱

參考

彙總函式 (Transact-SQL)

COUNT (Transact-SQL)

int、bigint、smallint 和 tinyint (Transact-SQL)

OVER 子句 (Transact-SQL)