как группировать по двум столбцам и предоставлять сумму сгруппированных элементов

Я создаю базу данных инвентаризации, и у нее есть 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

результат:

Qty  Manufacturer  Model
2    Sony          MF-2002
3    Planar        PL2410W
2    Planar        PL3610D

1 ответов


при Item модель, вы можете передать массив в group метод следующим образом:

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