sum(b.price),
b.name,
b.description,
b.type,
b.discount_category,
b.small_image,
b.full_image
FROM bonuses as b
LEFT JOIN user_bonuses ub on b.id = ub.bonus_id
LEFT JOIN bonus_partners bp on b.id = bp.bonus_id
WHERE ub.user_id = 1
GROUP BY bp.partner_id
При выполнении ругается вот так:
[2019-08-30 13:33:50] [42803] ERROR: column "b.name" must appear in the GROUP BY clause or be used in an aggregate function
Что логично, оно не знает какое имя выводить в сгрупированные данные. Но мне нужно вывести имя той строки, где price найбольший. Как это сделать?
отсортируй по этой цене по убыванию и возьми первую
Обсуждают сегодня