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

如何在Kusto中查询单日同时包含多个指定作业状态的记录

Kusto 多状态匹配单日筛选查询方案

适用场景

你需要筛选出单日同时包含Running和Completed两种作业状态的所有明细记录,可直接使用以下查询逻辑。

具体实现

假设你的源表名为JobInfo,核心字段包含:作业时间字段JobTime、作业状态字段Status、其余业务字段按需保留即可。

方案1:返回符合条件的全部明细记录(匹配预期输出效果)

JobInfo
// 提取每条记录对应的日期
| extend RunDate = startofday(JobTime)
// 按日期分区,判断每个日期下是否同时存在两种目标状态
| partition by RunDate (
    where set_has_element(make_set(Status), "Running") and set_has_element(make_set(Status), "Completed")
)
// 可选:如果只需要保留两种目标状态的记录,保留下面这行过滤,不需要可删除
| where Status in ("Running", "Completed")
// 可选:按日期、时间排序
| sort by RunDate asc, JobTime asc

方案2:仅统计符合条件的日期列表(不需要明细时使用)

JobInfo
| extend RunDate = startofday(JobTime)
| summarize StatusSet = make_set(Status) by RunDate
| where set_has_element(StatusSet, "Running") and set_has_element(StatusSet, "Completed")
| project RunDate

逻辑说明

  • startofday():把精确到时分秒的时间字段转换为当日零点的日期值,实现按日分组
  • make_set():聚合指定字段的所有非重复值,生成集合
  • set_has_element():判断集合中是否包含指定值,同时满足两个状态存在的条件即可匹配到符合要求的日期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:36:03