Создать json из данных таблицы postgresql
Предположим у меня есть такая таблица в PostgreSQL:
id | nickname | name
----+--------------+-----------
1 | some | Alex
2 | nickname | Po
3 | here | BoB
4 | for example | Rich
Мне нужно с помощью select команды получить такой результат:
{"id": [1, 2, 3, 4], "nickname": ["some", "nickname", "here", "for example"], "name": ["Alex", "Po", "BoB", "Rich"]}
Это возможно? Не смог найти ничего похожего
Ответы (2 шт):
Автор решения: Roman Konoval
→ Ссылка
Как-то так:
select json_build_object(
'id', array_agg(id order by id),
'nickname', array_agg(nickname order by id),
'name', array_agg(name order by id))
from tbl
Автор решения: Константин Королев
→ Ссылка
select
json_agg(row_to_json(row))
from (select * from table) row;