You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kusto中删除重复行?两种尝试方法均失败求可行方案

解决Kusto删除重复数据的可行方法

针对你遇到的.delete命令无法使用summarize或let变量的问题,以下两种方法可以实现按Key保留最晚摄入记录、删除重复行的需求:

方法一:使用窗口函数直接筛选待删除行

利用row_number()窗口函数对每个Key的记录按摄入时间倒序排序,标记出非第一条(即重复需要删除的)记录:

.delete table TABLENAME records <| TABLENAME
| partition by Key
| order by ingestion_time() desc
| extend row_num = row_number()
| where row_num > 1

此方法无需额外临时表,逻辑直接:每个Key下,row_num=1的是最晚摄入的记录,row_num>1的即为需要删除的重复行。

方法二:通过临时表存储保留标识后删除

如果窗口函数方式不符合你的场景,可以先将每个Key对应的最晚摄入时间存储到临时表,再关联删除:

  1. 创建临时表存储每个Key的最大摄入时间:
.set temp_key_max_ingest <| TABLENAME
| summarize MaxIngestionTime = max(ingestion_time()) by Key
  1. 执行删除操作,关联临时表筛选待删除记录:
.delete table TABLENAME records <| TABLENAME
| join kind=inner (temp_key_max_ingest) on Key
| where ingestion_time() != MaxIngestionTime
  1. 操作完成后可删除临时表(可选):
.drop table temp_key_max_ingest

内容的提问来源于stack exchange,提问作者ROODAY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:12:13