2013-03-21 80 views
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) 

有人可以借用一些帮助或至少指出我在正确的方向上?

回答

0

这里是我的解决方案。我会邀请我如何可能会改善this..thanks

我的模型建议:

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