我有一个包含: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 :(得分:0)
这是我的解决方案..我会邀请建议我如何改进这一点......谢谢
我的模特:
Production.find(
:all,
select: "month, carrier_id, amount, SUM(amount) as sum_amount",
group: :carrier_id
)