Я чувствую, что мне нужна json_object_agg()
функция Postgres 9.4, но я не смогу перейти с 9.3 прямо сейчас. Есть ли способ сделать то, что я хочу в 9.3? Вот мой сценарий. У меня есть таблица click_activity
данных, которая выглядит как
user | offer | clicks
-----|-------|--------
fred |coupons| 3
fred |cars | 1
john |coupons| 2
Но я хочу превратить это в это: (агрегировать активность на пользователя)
user | activity
-----|----------
fred | {"coupons": 3, "cars": 1}
john | {"coupons": 2}
Я думаю, что json_object_agg()
функция Postgres 9.4 сделала бы это отлично, все, что мне нужно было бы вызвать
select user, json_object_agg(offer, clicks) from click_activity group by 1
Есть ли способ сделать это в 9.3? Спасибо!
1
Это может быть относительно легко извлечь функцию и обернуть ее в расширение C ...
—
Крейг Рингер
Вы можете использовать pl / v8?
—
Клеман Прево