요약 연산자를 사용하여 결과 필터링
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만 포함하도록 필터링됩니다. 그러면 해당 결과가 계정별로 최신 로그인 행에 대해 요약됩니다.