共用方式為


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

另請參閱