Вам просто нужно делать два запроса. Сначала группировкой выбираете нужные критерии (цена, остальные атрибуты), а потом выбираете из таблицы всё, что этим критериям соответствует.
SELECT t.* FROM table t
INNER JOIN (SELECT MIN(price) as price, name, attib1, attrib2 FROM table GROUP BY name, attib1, attrib2) tmp USING (price, name, attib1, attrib2)
Весьма вероятно, что я где-то ошибся в синтаксисе, но общий смысл такой.