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