共用方式為


計數

✅ Azure 串流分析 ✅ 網狀架構事件串流

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

語法

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

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

論點

全部

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

獨特

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

表示式

這是任何類型或數據行名稱的表達式。 不允許聚合函數和子查詢。

* (通配符表示式)

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

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

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

備註

  • COUNT\ 會傳回事件數目,包括 NULL 值和重複專案。

  • COUNT(ALL 運算式) 和 COUNT(expression) 會評估群組中每個事件的運算式,並傳回非 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 子句