Я пытаюсь внедрить логику SQL Group By & SUM в функцию Scala.
У меня есть список объектов,
case class TypeToSum(id: Int, active_total: Int, inactive_total: Int)
Я заполняю список, объединяя несколько списков,Наконец, список выглядит так:
{id: 1, active_total: 4, inactive_total: 3},
{id: 1, active_total: 2, inactive_total: 5},
{id: 1, active_total: 1, inactive_total: 1},
{id: 2, active_total: 2, inactive_total: 7},
{id: 2, active_total: 6, inactive_total: 2}
Моя цель - достичь следующего результата:
{id: 1, active_total: 7, inactive_total: 9},
{id: 2, active_total: 8, inactive_total: 9}
В принципе мне нужно получить сумму этих столбцов при группировке по идентификатору. В другой функции мне нужно было получить сумму в одном столбце, и я мог бы сделать это с помощью следующего кода:
lossTotals.groupBy(totals => (totals.product_id, totals.part_id))
.mapValues(_.map(_.loss_sum).sum).map( .... )
Как я могу реализовать этот (или другой) подход, чтобы получить несколько операций суммирования в разных полях внутритот же список?