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

使用OPENJSON统计每行ID对应JSON数组中的联系人数量

统计JSON数组内联系人数量的SQL实现

针对你的需求,用OPENJSON解析JSON数组,结合CROSS APPLY关联原表,再分组统计即可实现。假设你的表名为YourTable,具体SQL语句如下:

SELECT 
    t.Id,
    COUNT(j.contact_id) AS ContactCount,
    CONCAT(t.Id, ': ', COUNT(j.contact_id)) AS FormattedOutput
FROM 
    YourTable t
CROSS APPLY 
    OPENJSON(t.JsonData, '$.contacts')
    WITH (
        contact_id NVARCHAR(MAX) '$.id'
    ) j
GROUP BY 
    t.Id
ORDER BY 
    t.Id;

代码说明:

  • OPENJSON(t.JsonData, '$.contacts'):指定解析JsonData字段中路径为$.contacts的JSON数组
  • WITH子句:提取数组内每个对象的id字段,命名为contact_id
  • CROSS APPLY:将原表的每一行与解析出的联系人记录进行关联
  • GROUP BY t.Id:按原表的Id分组,用COUNT统计每组的联系人数量
  • CONCAT:生成你需要的Id: 数量格式的输出

示例输出:

IdContactCountFormattedOutput
123421234: 2

内容的提问来源于stack exchange,提问作者im-devops

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:27:14