使用摘要運算子來篩選結果

已完成

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 的內容。 然後,這些結果會依帳戶來摘要出最新的登入資料列。