EmailEvents查询需求:按域名统计数量并展示单个邮箱地址
解决Kusto查询展示域名对应发件人邮箱的问题
要实现按发件人域名统计数量,同时列出每个域名下的单个发件人邮箱,你需要在统计阶段同时保留发件人邮箱的集合。修改后的查询如下:
EmailEvents | where RecipientEmailAddress == 'example' // 替换为目标收件人邮箱 | extend SenderDomain = tostring(split(SenderFromAddress, '@')[1]) // 按收件人、域名分组,统计数量并收集唯一发件人邮箱 | summarize SenderCount = count(), SenderEmails = make_set(SenderFromAddress) // 用make_set去重,若需保留重复用make_list by RecipientEmailAddress, SenderDomain // 按收件人汇总域名信息,包含域名、数量、发件人邮箱列表 | summarize DomainDetails = make_list(pack( "SenderDomain", SenderDomain, "SenderCount", SenderCount, "SenderEmails", SenderEmails )) by RecipientEmailAddress | project RecipientEmailAddress, DomainDetails | order by RecipientEmailAddress asc
关键修改说明:
- 在第一次
summarize中新增SenderEmails = make_set(SenderFromAddress),用make_set收集该域名下所有唯一的发件人邮箱(如果需要保留重复出现的邮箱,换成make_list即可)。 - 后续打包域名信息时,将
SenderEmails加入到pack的字段中,确保最终结果包含每个域名对应的发件人邮箱列表。 - 移除了多余的
project-reorder步骤,简化查询逻辑。
内容的提问来源于stack exchange,提问作者Tiger777
相关产品推荐
相关产品推荐

