使用摘要運算子來篩選結果
arg_max () 和 arg_min () 函數會分別篩選出頂端和底端的資料列。
arg_max 函式
下列陳述式會為電腦 SQL10.NA.contosohotels.com 傳回 SecurityEvent 資料表中最新的資料列。 arg_max 函式中的 * 會要求資料列的所有資料行。
SecurityEvent
| where Computer == "SQL10.na.contosohotels.com"
| summarize arg_max(TimeGenerated,*) by Computer
arg_min 函式
在此陳述式中,電腦 SQL10.NA.contosohotels.com 最舊的 SecurityEvent 會以結果集的形式傳回。
SecurityEvent
| where Computer == "SQL10.na.contosohotels.com"
| summarize arg_min(TimeGenerated,*) by Computer
重新檢視結果管道
訂單結果能通過管道字元很重要。 請參閱下列兩個 KQL 陳述式。 結果集之間有何差異?
分別執行每個查詢以查看結果。
// Statement 1
SecurityEvent
| summarize arg_max(TimeGenerated, *) by Account
| where EventID == "4624"
// Statement 2
SecurityEvent
| where EventID == "4624"
| summarize arg_max(TimeGenerated, *) by Account
陳述式 1 會具有其最後活動為登入的帳戶。
系統會先摘要 SecurityEvent 資料表,並傳回每個帳戶最新的資料列。 然後僅會傳回 EventID 等於 4624 (登入) 的資料列。
陳述式 2 則會具有所登入帳戶的最新登入資訊。
SecurityEvent 資料表會篩選為只包含 EventID = 4624 的內容。 然後,這些結果會依帳戶來摘要出最新的登入資料列。