Тут точно нужно учитывать другие элементы из группы?
Тут немного сложнее. У меня получается из запроса создается список товаров. И у каждого из них есть поле которое хранить ID товара с наибольшей ценой, после чего проверяется если ID товара равен ID макс, то оставляем цену товара как есть, иначе 0. И суммируем весь этот список. И так по несколько раз. Раз 100 обычно повторяются эти действия.