我如何分组和总结?

时间:2013-03-21 19:39:54

标签: ruby-on-rails

我有一个包含:firm_id, :carrier_id, :month, :amount列的表格。我正在尝试对:carrier_id:month进行分组,然后对:amount求和。例如:

当前数据库表:

firm_id | carrier_id | month | amount
 1      |      1     |  jan  |  $100
 2      |      1     |  jan  |  $100
 3      |      2     |  jan  |  $100
 1      |      1     |  feb  |  $100
 2      |      2     |  feb  |  $100
 3      |      2     |  feb  |  $100

我想创建的表格视图:

carrier_id | month | amount
     1     |  jan  |  $200
     2     |  jan  |  $100
     1     |  feb  |  $100
     2     |  feb  |  $200

我已经在我的模型中尝试了这个(基于一些研究)但没有成功

Production.select(:carrier_id, :month, :amount, "SUM(amount)").group(:carrier_id, :month)

有人可以提供一些帮助,或者至少指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

这是我的解决方案..我会邀请建议我如何改进这一点......谢谢

我的模特:

Production.find(
    :all,
    select: "month, carrier_id, amount, SUM(amount) as sum_amount",
    group: :carrier_id
    )