将行合并到 jsonb 对象中
Merge rows into jsonb object
(这是之后的跟进问题)
在 postgresql
12+ 中,给定以下输入行:
expected
输出是:
uid tag_freq
1 {'a':2, 'b':1, 'c':1}
2 {'a':1, 'b':2, 'c':2, 'e':1}
...
输出列tag_freq
是jsonb对象,是用户的合并结果。
有没有办法写这样的查询?
您可以为此使用 jsonb_object_agg():
select uid, jsonb_object_agg(tag, count) as tag_freq
from the_table
group by uid;
(这是
在 postgresql
12+ 中,给定以下输入行:
expected
输出是:
uid tag_freq
1 {'a':2, 'b':1, 'c':1}
2 {'a':1, 'b':2, 'c':2, 'e':1}
...
输出列tag_freq
是jsonb对象,是用户的合并结果。
有没有办法写这样的查询?
您可以为此使用 jsonb_object_agg():
select uid, jsonb_object_agg(tag, count) as tag_freq
from the_table
group by uid;