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

PostgreSQL如何将分组统计查询结果转为指定结构的JSON对象

PostgreSQL 行转单JSON对象解决方案

你可以直接使用json_object_agg聚合函数实现需求,正确的查询语句如下:

SELECT json_object_agg(column, count) AS result_json
FROM (
  -- GROUP BY后column天然去重,无需额外加DISTINCT
  SELECT column, count(*) AS count
  FROM your_table_name
  GROUP BY column
) t;

说明

  • json_object_agg是PostgreSQL专门提供的JSON聚合函数,接收两个参数,第一个会作为JSON对象的键,第二个会作为对应的值,最终自动把所有聚合结果拼接为单个JSON对象,完全匹配你需要的{"id1":1, "id2":5}结构。
  • 如果你需要性能更优、支持后续JSON操作的jsonb类型返回值,直接把函数替换为jsonb_object_agg即可。
  • 你之前的写法使用array_agg将每行结果聚合成数组后再转JSON,所以最终得到的是对象数组,和目标结构不符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:24:04