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

PostgreSQL JSON查询结果合并为单行哈希结构需求

合并PostgreSQL多行JSON为单一哈希结构

我来帮你搞定这个JSON合并的需求~要把这三行独立的JSON数据整合成同一行的哈希结构,咱们可以借助PostgreSQL的JSON处理函数来实现,具体步骤如下:

假设数据存储结构

先假设你的数据存在名为metric_records的表中,存储JSON的列叫data_json,表内数据就是你给出的那三行JSON内容。

实现查询语句

用下面的SQL就能把多行JSON的键值对合并成一个完整的哈希结构:

SELECT jsonb_object_agg(key, value) AS merged_hash
FROM metric_records, jsonb_each(data_json);

代码逻辑说明

  • jsonb_each(data_json):把每行的单个JSON对象拆分成key(比如Name1、Name2这类)和value(对应的数值数组)的行记录;
  • jsonb_object_agg(key, value):将所有拆分出来的键值对聚合为一个单一的JSONB对象,也就是你需要的同一行哈希结构。

合并后的结果示例

执行完上面的查询,你会得到这样的单一JSON结果:

{
  "Name1": [["70.2", "2018-02-19T16:26:08.857134"], ["69.93", "2018-02-19T16:26:16.568789"]],
  "Name2": [["70.2", "2018-02-19T16:26:08.857134"], ["69.93", "2018-02-19T16:26:16.568789"]],
  "NewName1": [["70.2", "2018-02-19T16:26:08.857134"], ["69.93", "2018-02-19T16:26:16.568789"]]
}

如果你的JSON列是json类型而非jsonb,只需要把jsonb_each换成json_each,jsonb_object_agg换成json_object_agg就可以啦,效果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:02:49