Я обновил свою систему и установил MySql 5.7.9 с php для веб-приложения, над которым я работаю. У меня есть запрос, который динамически создается, и при работе в более старых версиях MySql он отлично работает. С момента обновления до 5.7 я получаю эту ошибку:
Выражение # 1 списка SELECT не находится в предложении GROUP BY и содержит неагрегированный столбец "support_desk.mod_users_groups.group_id", который функционально не зависит от столбцов в предложении GROUP BY; это несовместимо с sql_mode = only_full_group_by
Обратите внимание на страницу руководства для Mysql 5.7 на тему Режимы сервера SQL.
Это запрос, который вызывает у меня проблемы:
SELECT mod_users_groups.group_id AS 'value', 
       group_name AS 'text' 
FROM mod_users_groups
LEFT JOIN mod_users_data ON mod_users_groups.group_id = mod_users_data.group_id 
WHERE  mod_users_groups.active = 1 
  AND mod_users_groups.department_id = 1 
  AND mod_users_groups.manage_work_orders = 1 
  AND group_name != 'root' 
  AND group_name != 'superuser' 
GROUP BY group_name 
HAVING COUNT(`user_id`) > 0 
ORDER BY group_name
Я сделал некоторые ошибки в этом вопросе, но я не понимаю only_full_group_by достаточно, чтобы выяснить, что мне нужно сделать, чтобы исправить запрос. Могу ли я просто отключить опцию only_full_group_by, или есть что-то еще, что мне нужно сделать?
Сообщите мне, если вам нужна дополнительная информация.



