key | value | col
----------------------------------------
color | red | g1
color | blue | g2
contrast | {'l':123456} | g1
setting | srnew | g2
contrast | {'s':123456} | g1
key | value | col
---------------------------------------------
color | ['red'] | g1
color | ['blue'] | g2
contrast | [{'l':123456}, {'s':456}]| g1
setting | ['srnew'] | g2
如何将第一个表聚合到第二个表?
列value
的类型为jsonb。我也希望结果列value
也为jsonb。
答案 0 :(得分:1)
您可以尝试使用array_agg按concat分组,然后使用array_to_json
到json数组。
SELECT array_to_json(array_agg(value))
FROM t
group by key,col