COUNT (Azure Stream Analytics)

傳回群組中的項目數。 COUNT 一律會傳回 bigint 資料類型值。

語法

-- Aggregate Function Syntax
COUNT ( { [ [ALL | DISTINCT] expression ] | * } ) 

-- Analytic Function Syntax
COUNT ( { [expression] | * }) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
  

引數

ALL

將彙總函式套用至所有值。 ALL 是預設值。

DISTINCT

指定 COUNT 會傳回唯一非 Null 值的數目。

expression

是任何類型的運算式或資料行名稱。 不允許彙總函式和子查詢。

* (萬用字元運算式)

指定應該計算所有事件,以傳回群組中的事件總數。 COUNT(*) 不接受任何參數。 COUNT(*) 不需要運算式參數,因為根據定義,它不會使用任何特定資料行的相關資訊。 COUNT (*) 會傳回事件數目,而不會移除重複專案。 它會個別計算每個事件。 這包括包含 Null 值的事件,針對 Null 值傳回 0。

OVER ([ < PARTITION BY 子句 LIMIT DURATION 子 >< 句 > [ < WHEN 子句 > ]]

決定套用 COUNT 的資料列群組。 PARTITION BY 子句會指定具有相同資料分割索引鍵的資料列會群組在一起。 LIMIT DURATION 子句會指定群組中包含多少歷程記錄。 WHEN 子句會指定要包含在群組中的資料列布林值條件。 如需使用方式的詳細資訊,請參閱 OVER 子句

備註

  • COUNT (*) 會傳回事件數目,包括 Null 值和重複專案。

  • COUNT (ALL 運算式) 和 COUNT (運算式) 評估群組中每個事件的運算式,並傳回非 Null 值的數目。

  • COUNT (DISTINCT 運算式) 評估群組中每個事件的運算式,並傳回唯一、非 Null 值的數目。

  • COUNT (input_stream) 相當於 COUNT () 和 COUNT (*) ,但 COUNT (DISTINCT input_stream) 只計算唯一事件。

  • 不支援 COUNT (DISTINCT 運算式) 做為分析函式。 也就是說,您無法搭配 OVER 子句使用 COUNT (DISTINCT 運算式) 。

傳回型別

BIGINT

範例

SELECT System.Timestamp() AS OutTime, TollId, COUNT(*)   
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, TumblingWindow(minute,3)  

另請參閱

GROUP BY 子句
OVER 子句