如何按两列分组并提供分组项目的总和

Jas*_*kes 11 ruby-on-rails-3

我正在建立一个库存数据库,它有2列我想分组(制造商和型号).我如何按这些列进行分组并提供项目组的总和?

例如:

Qty  Manufacturer  Model
1    Sony          MF-2002
1    Sony          MF-2002
1    Planar        PL2410W
1    Planar        PL2410W
1    Planar        PL2410W
1    Planar        PL3610D
1    Planar        PL3610D
Run Code Online (Sandbox Code Playgroud)

结果:

Qty  Manufacturer  Model
2    Sony          MF-2002
3    Planar        PL2410W
2    Planar        PL3610D
Run Code Online (Sandbox Code Playgroud)

Dyl*_*kow 20

假设一个Item模型,您可以将数组传递给该group方法,如下所示:

Item.group(["manufacturer", "model"]).sum(:qty)
# => {["Planar", "PL2410W"]=>3, ["Planar", "PL3610D"]=>2, ["Sony", "MF-2002"]=>2}
Run Code Online (Sandbox Code Playgroud)