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 に答える