如何在Kusto中实现带筛选的关联,取最早时间戳匹配行?
解决Kusto左外连接时仅匹配表b最早时间行的问题
要实现表a与表b左外连接时,每个id仅匹配表b中timestamp最早的单行,可先对表b做预处理,筛选出每个id对应的最早时间记录,再与表a进行连接。
具体实现代码如下:
// 预处理表b,获取每个id对应的最早timestamp的行 let b_filtered = b | summarize arg_min(timestamp, *) by id; // 与表a执行左外连接 a | join kind=leftouter b_filtered on id
关键说明
summarize arg_min(timestamp, *) by id:按id分组后,arg_min函数会保留每组中timestamp最小的完整行(*表示保留该行所有列),确保处理后的表b每个id仅对应一条记录。- 预处理后的表与a连接时,不会出现一对多的匹配,直接满足需求。
内容的提问来源于stack exchange,提问作者manymanymore
相关产品推荐
相关产品推荐

