✅ Azure 流分析 ✅ 构造事件流
返回表达式中的最小值。
语法
-- 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