Rails / SQL:按变量和总和数量分组

时间:2014-09-16 11:01:38

标签: ruby-on-rails ruby group-by rails-activerecord

class Order
  has_many :lines
end

class Line
  belongs_to :variant
end

class Variant
end

Line有一列quantity

如何在order

中对所有变体和相应数量进行分组和查找。

示例:

Line 1:
  quantity: 2
  variant_id: 5
  order_id: 1
Line 2
  quantity: 3
  variant_id: 6
  order_id: 1
Line 3
  quantity: 3
  variant_id: 5
  order_id: 1

结果应为:

{ 5 => 5, 6 => 3 }

密钥为variant_id,值为“sum(quantity)'对于与变体相关的行。

我试过了:

@order.lines.group('variant_id').count

但如何获得总和?

1 个答案:

答案 0 :(得分:2)

怎么样:

@order.lines.group('variant_id').sum(:quantity)