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

如何用JQ按id分组并对count字段求和?

使用JQ实现按ID分组求和Count字段

完整命令

假设你的数据文件名为data.json,执行以下命令即可得到预期结果:

jq -n 'reduce inputs as $item ({}; .[$item.id] += $item.count) | to_entries | map({id: .key, count: .value})' data.json

命令分步解释

  • -n:禁用JQ自动读取输入的默认行为,配合inputs命令逐行处理JSON Lines格式的数据。
  • reduce inputs as $item ({}; ...):遍历每一行输入数据,以空对象{}作为初始累积容器,对每个条目进行处理。
  • .[$item.id] += $item.count:以当前条目的id作为键,将对应的count值累加到容器中该键对应的值上(首次遇到该id时自动创建键并赋值)。
  • | to_entries:将累积得到的键值对对象转换为条目数组,格式为[{"key": "id值", "value": 求和后的count}, ...]。
  • | map({id: .key, count: .value}):将每个条目映射为你需要的最终JSON结构,把key重命名为id,value重命名为count。

示例验证

执行命令后,针对你提供的输入数据,输出结果将与预期完全一致:

{"id":"123","count":65}
{"id":"456","count":77}
{"id":"789","count":44}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 05:07:18