共用方式為


arg_min (聚合函數)

適用於:✅Microsoft網狀架構✅✅✅

在數據表中尋找可最小化指定表達式的數據列。 它會傳回輸入數據表或指定數據行的所有數據行。

注意

此函式會與 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
美屬薩摩亞 -14.3 PAGO PAGO
加利福尼亞州 32.5709 內斯特
明尼蘇達州 43.5 比奇洛
華盛頓州 45.58 WASHOUGAL
喬治亞州 30.67 法戈
伊利諾州 37 開羅
佛羅里達州 24.6611 SUGARLOAF KEY
肯塔基州 36.5 榛子
德克薩斯州 25.92 布朗斯維爾
俄亥俄州 38.42 南 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 ...
加利福尼亞州 2007-01-11T22:00:00Z 2007-01-24T10:00:00Z ...
奧克拉荷馬州 2007-01-12T00:00:00Z 2007-01-18T23:59:00Z ...
密蘇里州 2007-01-13T03:00:00Z 2007-01-13T08:30:00Z ...
德克薩斯州 2007-01-13T10:30:00Z 2007-01-13T14:30:00Z ...
阿肯色州 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 紅色
香蕉 黃色
1 棕色

與 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