我的问题很简单:
我有一个Lot
表,其中包含列:(id, product_id, quantity)
我想创建一个范围,按product_id对所有寄存器进行分组并计算sum
数量列并返回批次对象数组的结果。
我需要这个:
lots = Lot.sum_lots
lots.each do |lot|
puts lot.product.name + " : " + lot.quantity.to_s
end
谢谢!
答案 0 :(得分:0)
试试这个:
Lot.sum(:quantity, :group => :product_id) # will return a hash: {1 => 22, 2 => 11}
结果是一个哈希,product_id
为关键,quantity
的总和为值。