요약 연산자를 사용하여 결과 필터링

완료됨

arg_max() 및 arg_min() 함수는 각각 위쪽 및 아래쪽 행을 필터링합니다.

arg_max function

다음 문은 SQL10.NA.contosohotels.com 컴퓨터의 SecurityEvent 테이블에서 최신 행을 반환합니다. arg_max 함수의 *는 행의 모든 열을 요청합니다.

SecurityEvent 
| where Computer == "SQL10.na.contosohotels.com"
| summarize arg_max(TimeGenerated,*) by Computer

arg_min function

이 문에서는 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만 포함하도록 필터링됩니다. 그러면 해당 결과가 계정별로 최신 로그인 행에 대해 요약됩니다.