B S*_*ven 5 sql postgresql ruby-on-rails ruby-on-rails-4
Purchase.all.group( :user_id ).sum( :price )
Run Code Online (Sandbox Code Playgroud)
这返回
[{ 1 : 234 }, { 2 : 345 }, ...
Run Code Online (Sandbox Code Playgroud)
是否可以提取Purchase ID?
例如,假设第一组返回:
{ user_id : 1, price : 234, ids : [3,6,9] }
Run Code Online (Sandbox Code Playgroud)
使用 postgresql,您可以使用array_agg:
Purchase.select('user_id, sum(price) as price, array_agg(id) as ids').group('user_id')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |