如何在Kusto中查询同时包含空值和非空值的分组去重记录
Kusto 按car分组去重优先取非空data实现
直接执行以下查询即可得到符合要求的结果:
let Car = datatable(car, data:string) [ "mercedes", "fast", "mercedes", null, "tesla", null, "toyota", "good", "sonata", null, "sonata", null, "sonata", "amazing" ]; Car | summarize arg_max(isnotempty(data), data) by car
逻辑说明
arg_max(isnotempty(data), data)按car分组后优先取isnotempty(data)值更大的记录:非空data对应的计算值为true,优先级高于空值对应的false,会优先返回非空的data- 若某一car下所有data都为空,
isnotempty(data)全为false,聚合会自动返回null值的data,符合需求 - 最终结果天然保证car列唯一,不需要额外去重处理
运行输出结果:
car data --------- ------- mercedes fast tesla toyota good sonata amazing
内容的提问来源于stack exchange,提问作者perseverance
相关产品推荐
相关产品推荐

