如何在Kusto查询中去除重复operation_Id并保留对应timestamp
解决方法
要实现每个operation_Id仅保留最早(timestamp最小)的记录,同时保留对应timestamp和name字段,可以使用Kusto的arg_min()聚合函数,具体写法如下:
your_table | summarize arg_min(timestamp, *) by operation_Id
说明
arg_min(timestamp, *):表示按timestamp取最小值,同时返回该记录的所有其他字段(包括name)by operation_Id:指定分组依据为operation_Id,确保每个分组只保留一条最早的记录
如果你的需求是保留每个operation_Id的最后一条(timestamp最大)记录,只需把arg_min换成arg_max即可:
your_table | summarize arg_max(timestamp, *) by operation_Id
你之前用distinct的问题在于,加入timestamp后,不同的timestamp会被视为不同条目,无法实现按operation_Id去重;错误使用summarize是因为没选对聚合函数,arg_min/arg_max是专门用来保留分组中对应极值的完整记录的。
内容的提问来源于stack exchange,提问作者user17387398
相关产品推荐
相关产品推荐

