如何修改Kusto查询以按列值获取最新一条结果?
如何修改Kusto查询以仅保留每个列的最新timestamp条目
你可以使用Kusto的arg_max()函数实现需求,该函数能按指定字段分组,并保留每组中目标字段值最大的完整行记录。修改后的查询如下:
customEvents | where name == "TrackNullColumns" | project timestamp, Column = tostring(customDimensions["Column"]), CurrentNullColumns = toint(customDimensions["CurrentNull"]), PreviousNullColumns = toint(customDimensions["PreviousNull"]), CurrentRows = toint(customDimensions["CurrentRows"]), PreviousRows = toint(customDimensions["PreviousRows"]) | distinct timestamp, Column, CurrentNullColumns, PreviousNullColumns, CurrentRows, PreviousRows // 按Column分组,保留每个组内timestamp最新的行 | summarize arg_max(timestamp, *) by Column | extend Delta = CurrentNullColumns - PreviousNullColumns | project timestamp, Column, CurrentNullColumns, PreviousNullColumns, Delta | order by Delta desc
关键说明
summarize arg_max(timestamp, *) by Column:这是核心步骤,按Column字段分组后,提取每个分组中timestamp值最大的那一行,*表示保留该行的所有字段内容,确保每个列只保留最新时间的记录。- 后续的
extend、project和order by逻辑与原查询一致,用于计算差值并整理输出格式。
内容的提问来源于stack exchange,提问作者user989988
相关产品推荐
相关产品推荐

