在 KQL 中使用按时间戳汇总来获取上次登录详细信息

Fetch Last Login Details using Summarize by Time Stamp in KQL

我正在尝试使用 KQL 查询语言获取 Kusto 数据库中用户的最后登录详细信息。但是我没有得到以下查询的确切结果。

GlobalID - 每次用户登录时都会创建的唯一 GUID 值

UserId - 登录的 UserId 值

LastSuccessFullLoginTimeStamp - 最大时间戳值

 //Fetch Last Logged in userID details
 let window = 2h;
 Events
 | where Timestamp >= ago(window)
 | extend UserId = tostring(Properties.UserId)
 | where UserId in ('12345','56789','24680')
 //| summarize LastSuccessFullLoginTimeStamp = max(Timestamp), count() by 
  GlobalId,UserId
  |project GlobalID,UserId,TimeStamp

但是我无法从上面的示例数据中得到如下所示的输出。 根据用户 ID 和上次登录时间获取最新的 GlobalID。我哪里做错了?我尝试总结,make_set 但没有成功。

您应该使用 arg_max() 函数:

 let window = 2h;
 Events
 | where Timestamp >= ago(window)
 | extend UserId = tostring(Properties.UserId)
 | where UserId in ('12345','56789','24680')
 | summarize arg_max(Timestamp, *) by UserId