You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KQL查询问题:如何获取首个结案侦探ID以统计最高赏金?

解决Kusto中关联首个结案侦探ID的问题

要获取每个案件首个结案的侦探ID,你可以用arg_min()函数替代单纯的min()聚合——这个函数能返回每组(按CaseId分组)中Timestamp最小的那一行的完整数据,自然就能拿到对应的DetectiveId,同时保证每个CaseId只保留一条记录。

修改后的完整查询如下:

DetectiveCases
| where EventType == 'CaseOpened'
| project CaseOpened = Timestamp, CaseId, Bounty = toreal(Properties.Bounty)
| join kind=innerunique 
    (
    DetectiveCases
    | where EventType == 'CaseSolved'
    | summarize FirstClosed=min(Timestamp), WinningDetective=arg_min(Timestamp, DetectiveId).DetectiveId by CaseId
    )
    on CaseId
| summarize TotalBounty=sum(Bounty) by WinningDetective
| sort by TotalBounty desc

关键说明:

  • arg_min(Timestamp, DetectiveId)会按CaseId分组,找到每组中Timestamp最小的条目,并返回该条目的Timestamp和DetectiveId,通过.DetectiveId提取出对应的侦探ID。
  • 这样子查询返回的结果中每个CaseId唯一,关联后不会出现重复的案件记录,确保只有首个结案的侦探能获得对应案件的赏金。
  • 最后按侦探ID汇总总赏金并降序排序,就能得到赏金最高的侦探。

内容的提问来源于stack exchange,提问作者Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 17:12:05