你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
arg_min()(聚合函数)
在表中查找可最大程度地减少指定表达式的行。 它返回输入表或指定列的所有列。
注意
此函数与 summarize 运算符结合使用。
弃用的别名:argmin()
语法
arg_min
(
ExprToMinimize,
* | ExprToReturn [,
...])
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
ExprToMinimize | string |
✔️ | 确定最小值的表达式。 |
ExprToReturn | string |
✔️ | 表达式从 ExprToMinimize的行中确定返回哪些列的值。 使用通配符 * 返回所有列。 |
Null 处理
当 ExprToMinimize 对于表中的所有行为 null 时,将选取表中的一行。 否则,会忽略 ExprToMinimize 为 null 的行。
返回
返回表中的一行,该行最小化 ExprToMinimize,以及 ExprToReturn中指定的列的值。 使用或 *
返回整个行。
提示
若要查看最小值,请使用 min() 函数。
示例
找出每个州发生风暴事件的最小纬度。
StormEvents
| summarize arg_min(BeginLat, BeginLocation) by State
显示的结果表仅包括前 10 行。
状态 | BeginLat | BeginLocation |
---|---|---|
AMERICAN SAMOA | -14.3 | PAGO PAGO |
CALIFORNIA | 32.5709 | NESTOR |
MINNESOTA | 43.5 | BIGELOW |
华盛顿州 | 45.58 | WASHOUGAL |
佐治亚州 | 30.67 | FARGO |
ILLINOIS | 37 | CAIRO |
佛罗里达州 | 24.6611 | SUGARLOAF KEY |
KENTUCKY | 36.5 | HAZEL |
德克萨斯 | 25.92 | BROWNSVILLE |
俄亥俄州 | 38.42 | SOUTH PT |
... | ... | ... |
查找每个状态中首次发生直接死亡事件时,显示所有列。
查询首先筛选事件,以仅包含至少有一个直接死亡的事件。 然后,查询将返回 StartTime 值最低的整个行。
StormEvents
| where DeathsDirect > 0
| summarize arg_min(StartTime, *) by State
显示的结果表仅包括前 10 行和前 3 列。
状态 | StartTime | EndTime | ... |
---|---|---|---|
INDIANA | 2007-01-01T00:00:00Z | 2007-01-22T18:49:00Z | ... |
佛罗里达州 | 2007-01-03T10:55:00Z | 2007-01-03T10:55:00Z | ... |
NEVADA | 2007-01-04T09:00:00Z | 2007-01-05T14:00:00Z | ... |
路易斯安那州 | 2007-01-04T15:45:00Z | 2007-01-04T15:52:00Z | ... |
华盛顿州 | 2007-01-09T17:00:00Z | 2007-01-09T18:00:00Z | ... |
CALIFORNIA | 2007-01-11T22:00:00Z | 2007-01-24T10:00:00Z | ... |
OKLAHOMA | 2007-01-12T00:00:00Z | 2007-01-18T23:59:00Z | ... |
MISSOURI | 2007-01-13T03:00:00Z | 2007-01-13T08:30:00Z | ... |
德克萨斯 | 2007-01-13T10:30:00Z | 2007-01-13T14:30:00Z | ... |
ARKANSAS | 2007-01-14T03:00:00Z | 2007-01-14T03:00:00Z | ... |
... | ... | ... | ... |
以下示例演示了 null 处理。
datatable(Fruit: string, Color: string, Version: int) [
"Apple", "Red", 1,
"Apple", "Green", int(null),
"Banana", "Yellow", int(null),
"Banana", "Green", int(null),
"Pear", "Brown", 1,
"Pear", "Green", 2,
]
| summarize arg_min(Version, *) by Fruit
输出
水果 | 版本 | Color |
---|---|---|
Apple | 1 | Red |
香蕉 | 黄色 | |
梨 | 1 | Brown |
与 min() 的比较
arg_min() 函数不同于 min() 函数。 arg_min() 函数允许返回其他列以及最小值,min() 仅返回最小值本身。
示例
arg_min()
查找首次发生直接死亡事件时,显示表中的所有列。
查询首先筛选事件,以仅包含至少有一个直接死亡的事件。 然后,查询将返回 StartTime 值最低的整个行。
StormEvents
| where DeathsDirect > 0
| summarize arg_min(StartTime, *)
结果表返回包含指定表达式中最小值的行的所有列。
StartTime | EndTime | EpisodeId | EventId | 状态 | EventType | ... |
---|---|---|---|---|---|---|
2007-01-01T00:00:00Z | 2007-01-22T18:49:00Z | 2408 | 11929 | INDIANA | 洪水 | ... |
min()
发现第一次发生直接死亡事件。
查询筛选事件以仅包含至少一个直接死亡的事件,然后返回 StartTime 的最小值。
StormEvents
| where DeathsDirect > 0
| summarize min(StartTime)
结果表仅返回特定列中的最低值。
min_StartTime |
---|
2007-01-01T00:00:00Z |