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

如何编写KQL查询返回数据库数量超4的客户所有Azure SQL Database?

用KQL筛选数据库数量超4的客户的全部数据库

可以通过Kusto的临时表定义、分组统计和关联查询实现这个需求,以下是修改后的查询:

// 提取符合条件的Azure SQL Database基础数据
let db_data = Resources
| join kind=inner (
    resourcecontainers
    | where type == 'microsoft.resources/subscriptions'
    | project subscriptionId, subscriptionName = name)
    on subscriptionId
| where subscriptionName in~ ('Subscription1','Subscription2')
| where type =~ 'microsoft.sql/servers/databases'
| where name != 'master'
| project subscriptionName, resourceGroup, name, type, location, sku.tier, properties.requestedServiceObjectiveName, tags.customerCode;

// 统计每个客户的数据库数量,筛选出数量≥5的客户
let over_limit_customers = db_data
| where isnotempty(tags.customerCode)
| summarize db_count = count() by customerCode = tags.customerCode
| where db_count >= 5;

// 关联返回超限客户的所有数据库记录
db_data
| join kind=inner over_limit_customers on $left.tags.customerCode == $right.customerCode
| project subscriptionName, resourceGroup, name, type, location, tier, requestedServiceObjectiveName, customerCode, db_count

逻辑说明

  1. 定义基础数据集:用let关键字将原查询的结果保存为db_data,避免重复执行相同的筛选逻辑。
  2. 筛选超限客户:从db_data中按customerCode分组统计数据库数量,只保留数量≥5的客户,得到over_limit_customers列表。
  3. 关联返回结果:将基础数据集与超限客户列表做内连接,仅保留这些客户的所有数据库记录,同时附带该客户的总数据库数量便于核对。

这个方案完全满足需求:仅返回数据库数量≥5的客户的全部数据库,数量≤4的客户不会出现在结果中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 06:55:30