Using SQL I'd like to convert a table that looks like this
| id | col11 | col2 |
|---|---|---|
| 1 | a | b |
| 1 | c | d |
| 2 | e | f |
| 2 | g | h |
Into something that looks like this:
| id | combined |
|---|---|
| 1 | [{col1: a, col2:b}, {col1: c, col2:d}] |
| 1 | [{col1: e, col2:f}, {col1: g, col2:h}] |
CodePudding user response:
We can try to use json_build_object function to build a JSON object out of a variadic argument list then use json_agg function.
SELECT id,
json_agg(json_build_object('col1',col11,
'col2',col2)) combined
FROM t
GROUP BY id
