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)