我已经升级了系统,并为正在使用的Web应用程序安装了带有PHP的MySql 5.7.9。我有一个动态创建的查询,当在旧版本的MySql中运行时,它运行良好。自升级到5.7以来,出现此错误:
SELECT列表的表达式#1不在GROUP BY子句中,并且包含未聚合的列'support_desk.mod_users_groups.group_id',该列在功能上不依赖于GROUP BY子句中的列;这与sql_mode = only_full_group_by不兼容
请注意有关服务器SQL模式主题的Mysql 5.7手册页。
这是给我带来麻烦的查询:
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
选项,还是需要做其他事情?
如果您需要更多信息,请与我们联系。
not a GROUP BY expression
“就是这样。他们也可能只有数字错误代码而根本没有消息。