tho*_*efe 9 postgresql postgresql-9.3 json postgresql-9.4
我觉得我需要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 中做到这一点?谢谢!
小智 9
我能够使用 string_agg(在 9.3 中可用)模拟 json_object_agg。
你的例子是:
select user, ('{' || string_agg('"' || offer || '": ' || clicks, ',') || '}')::json as activity
from click_activity
group by user
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12134 次 |
| 最近记录: |