0

我有一个包含: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)

有人可以为此提供帮助或至少为我指明正确的方向吗?

4

1 回答 1

0

这是我的解决方案..我会就如何改进这个问题提出建议..谢谢

我的模型:

Production.find(
    :all,
    select: "month, carrier_id, amount, SUM(amount) as sum_amount",
    group: :carrier_id
    )
于 2013-03-21T20:55:33.660 回答