小编tho*_*efe的帖子

在 Postgres 9.3 中实现 json_object_agg()

我觉得我需要json_object_agg()Postgres 9.4的功能,但我现在无法从 9.3 升级。有没有办法在 9.3 中做我想做的事?这是我的场景。我有一个click_activity看起来像的数据表

user | offer | clicks
-----|-------|--------
fred |coupons| 3
fred |cars   | 1
john |coupons| 2
Run Code Online (Sandbox Code Playgroud)

但我想把它变成这个:(聚合每个用户的活动)

user | activity
-----|----------
fred | {"coupons": 3, "cars": 1}
john | {"coupons": 2}
Run Code Online (Sandbox Code Playgroud)

我认为json_object_agg()Postgres 9.4的功能可以完美地做到这一点,我只需要调用

select user, json_object_agg(offer, clicks) from click_activity group by 1
Run Code Online (Sandbox Code Playgroud)

有没有办法在 9.3 中做到这一点?谢谢!

postgresql postgresql-9.3 json postgresql-9.4

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

json ×1

postgresql ×1

postgresql-9.3 ×1

postgresql-9.4 ×1