分组为单个 json 列
Group by into single json colum
使用 SQL 我想转换一个 table 看起来像这样
id
col11
col2
1
a
b
1
c
d
2
e
f
2
g
h
进入看起来像这样的东西:
id
combined
1
[{col1: a, col2:b}, {col1: c, col2:d}]
1
[{col1: e, col2:f}, {col1: g, col2:h}]
我们可以尝试使用 json_build_object
函数从可变参数列表中构建一个 JSON 对象,然后使用 json_agg
函数。
SELECT id,
json_agg(json_build_object('col1',col11,
'col2',col2)) combined
FROM t
GROUP BY id
使用 SQL 我想转换一个 table 看起来像这样
id | col11 | col2 |
---|---|---|
1 | a | b |
1 | c | d |
2 | e | f |
2 | g | h |
进入看起来像这样的东西:
id | combined |
---|---|
1 | [{col1: a, col2:b}, {col1: c, col2:d}] |
1 | [{col1: e, col2:f}, {col1: g, col2:h}] |
我们可以尝试使用 json_build_object
函数从可变参数列表中构建一个 JSON 对象,然后使用 json_agg
函数。
SELECT id,
json_agg(json_build_object('col1',col11,
'col2',col2)) combined
FROM t
GROUP BY id