Выражение № 29 списка SELECT отсутствует в предложении GROUP BY и содержит неагрегированный столбец. - PullRequest
0 голосов
/ 31 мая 2019

Я использую GoDaddy VPS server, после настройки сервера я вижу, что они предоставили MySql version 5.7. Я получаю сообщение об ошибке ниже в запросе MySql, но этот запрос отлично работает в MySql 5.6

У меня есть root access.

Ошибка -> Expression #29 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sephecom_ecom.v2.secondary_colors' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

1 Ответ

0 голосов
/ 31 мая 2019

Это не проблема версии, это проблема конфигурации

Проблема в том, что у вас есть only_full_group_by activated.Это означает, что все выбранные вами столбцы должны быть либо в GROUP BY, либо должны использовать функцию агрегирования (например, sum, avg, count и т. Д.).Если вы хотите избежать этого, вы можете изменить его, выполнив

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Если вы измените свою группу по условию, вы можете получить странные результаты в своем запросе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...