gpt4 book ai didi

postgresql - 如何聚合 JSONB PostgreSQL 10

转载 作者:行者123 更新时间:2023-11-29 14:31:52 25 4
gpt4 key购买 nike

我有一个包含 id 和 jsonb 列的表

1, "{"a" : {"per" : 0.45, "number" : 1}}"
1, "{"b" : {"per" : 3.13, "number" : 7}}"
2, "{"a" : {"per" : 14.73, "number" : 33}}"
2, "{"b" : {"per" : 85.27, "number" : 191}}"
3, "{"a" : {"per" : 40.63, "number" : 91}}"
4, "{"a" : {"per" : 1.79, "number" : 4}}"
4, "{"b" : {"per" : 2.68, "number" : 6}}"

需要按ids对值进行分组,得到这个结果

1, "{"a" : {"per" : 0.45, "number" : 1}, "b" : {"per" : 3.13, "number" : 7}}"
2, "{"a" : {"per" : 14.73, "number" : 33}, "b" : {"per" : 85.27, "number" : 191}}"
3, "{"a" : {"per" : 40.63, "number" : 91}}"
4, "{"a" : {"per" : 1.79, "number" : 4}, "b" : {"per" : 2.68, "number" : 6}}"

有什么办法可以实现吗?

最佳答案

没有内置聚合,但您可以轻松创建自己的聚合:

CREATE AGGREGATE jsonb_merge(jsonb) 
(
SFUNC = jsonb_concat(jsonb, jsonb),
STYPE = jsonb
);

然后你可以这样做:

select id, jsonb_merge(the_jsonb_column) 
from your_table
group by id

关于postgresql - 如何聚合 JSONB PostgreSQL 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50587450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com