我是 Kusto 的新手,正在尝试弄清楚如何在 KQL 中进行重复数据删除。我在 Kusto 中有一个表用于存储帐户信息。对于某些帐户,该表有 2 行:一行 update_c == true,另一行 update_c == false。我想编写一个 KQL 脚本,在这些重复帐户的情况下,该脚本将保留 update_c == true 的行。换句话说,我正在尝试对这个数据集进行重复数据删除,当每个帐户有 2 行时,它会在 update_c == true 的情况下幸存下来。如果每个透视帐户只有一行,则无论 update_c vlaues 如何,它都会幸存下来。
账户ID | 更新_c |
---|---|
12 | 真实 |
12 | 假 |
有人能帮我学习如何删除重复数据吗?
这应该可以。
datatable
| extend updated_c_int = toint(updated_c)
| summarize arg_max(updated_c_int, *) by accountId
| project accountId, updated_c
extend updated_c_int = toint(updated_c)
:将布尔值updated_c
转换为整数。 true
变为 1,false
变为 0。summarize arg_max(updated_c_int, *) by accountId
:对于每个accountId
,获取具有最高updated_c_int
值的行。如果存在平局,arg_max
将返回它遇到的第一行。project accountId, updated_c
:仅选择最终输出中的accountId
和updated_c
列。根据您的示例输入,此查询应返回:
accountId updated_c
12 true