Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Немного не понимаю команду GROUP BY, SQL

Дмитрий Крайзер Ученик (180), закрыт 4 года назад
Вот у меня есть таблица cookies_sales:(смотреть фото)
-------------------------------------------------------------------------------------------
Я группирую данные таблицы по имени (столбцу name), и вывожу сумму продаж каждой девочки: (смотреть фото)
-------------------------------------------------------------------------------------------
пока все вроде-бы нормально, но если я пишу запрос SELECT name,sales FROM cookies_sales GROUP BY name;
то выскакивает ошибка: ERROR 1055 (42000): Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'govno.cookies_sales.sales' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by(смотреть фото)
-------------------------------------------------------------------------------------------
Я же просто хочу вывести рядом со значением столбца name значение столбца sales, почему я не могу этого сделать?

Лучший ответ
Голова Робота Просветленный (36328) 4 года назад
Что должно выводиться в столбце sales по твоему мнению?
В SELECT могут быть только столбцы, перечисленные в GROUP BY и агрегатные функции.
Чтоб вывести агрегатные и подробные данные одновременно, надо использовать оконные (аналитические) функции, они есть не во всех СУБД.
Дмитрий КрайзерУченик (180) 4 года назад
думаю должно вывестись 1-ое значение сгруппированной по столбцу name таблицы
Дмитрий Крайзер Ученик (180) *думаю должны вывестись 1-ые значения сгруппированных по столбцу name таблиц
Остальные ответы
Максим Искусственный Интеллект (198323) 4 года назад
SELECT name, SUM(sales)
FROM cookies_sales
GROUP BY name

Суммируем все sales.
Похожие вопросы