MIN (Azure Stream Analytics)
傳回運算式中的最小值。
語法
-- Aggregate Function Syntax
MIN ( expression )
-- Analytic Function Syntax
MIN ( expression ) OVER ([<PARTITION BY clause>] <LIMIT DURATION clause> [<WHEN clause>])
引數
expression
是一個常數、資料行名稱或函數,以及任何的算術運算子組合。 不允許彙總函式和子查詢。
MIN 可以搭配 Bit、Bigint、Datetime 和 Float 資料行使用。
MIN 也可以搭配 NVARCHAR (MAX) 搭配下列行為使用:
- 如果資料行未明確轉換成 NVARCHAR (MAX) ,則 MIN 會嘗試以隱含方式將它轉換成 FLOAT。 類型不符會導致錯誤。
- 如果資料行使用 CAST 或 TRY_CAST 明確轉換成 NVARCHAR (MAX ) ,則會傳回最小字串值。
OVER ([ < PARTITION BY 子句 LIMIT DURATION 子句 [ < WHEN 子 >< 句 >> ]]
決定套用 MIN 的資料列群組。 PARTITION BY 子句會指定具有相同分割區索引鍵的資料列會群組在一起。 LIMIT DURATION 子句會指定群組中包含多少歷程記錄。 WHEN 子句會指定要包含在群組中的資料列布林值條件。 如需使用量的詳細資訊,請參閱 OVER 子句 。
傳回型別
傳回與運算式相同的值。
範例
透過匯總語法,我們將減少資料列數目。 在這裡,我們會每隔一小時選取每個付費費用的最低費用:
SELECT
TollId,
System.Timestamp() AS WindowEnd,
MIN(Toll) AS MinFare
FROM Input TIMESTAMP BY EntryTime
GROUP BY
TollId,
TumblingWindow(hour,1)
流量分析語法,我們會維護輸入基數。 在這裡,針對通過收費的每個車輛,我們會將目前的車資與過去一小時內的最小值進行比較:
SELECT
TollId,
System.Timestamp() AS PassageTime,
LicensePlate,
Toll AS Fare,
MIN (Toll) OVER (PARTITION BY VehicleClass LIMIT DURATION(hour,1)) AS MinimumFareOverLastHour
FROM Input TIMESTAMP BY EntryTime