Какую правильную группировку нужно сделать в sql запросе?

Я решала задачу, и столкнулось с проблемой, что у меня не работает запрос.

SELECT u.id, u.first_name, u.last_name, p.price*COUNT(od.product_id) AS VALUE FROM orders_details AS od JOIN products AS p ON od.product_id=p.id JOIN orders AS o on od.order_id=o.id JOIN users AS u ON o.user_id=u.id WHERE o.status='success' GROUP BY ??? ORDER BY VALUE DESC LIMIT 5

В Group By пробовала подставлять u.id, чтобы сгруппировать по пользователям, но mySql не дает это сделать, тк видимо p.price, указанный в Select, невозможно совместить с такой группировкой. Короче я запуталась. Не понимаю, что я пишу не так, помогите пожалуйста

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Мари

Не знаю, насколько актуален ответ для этого вопроса, но всё же. Для инструкции GROUP BY нужно указывать все выбираемые поля таблиц, которые не участвуют в функциях подсчёта (COUNT, SUM и так далее), то есть в вашем случае это u.id, u.first_name, u.last_name, p.price

→ Ссылка