MySQL 查询失败:SELECT 列表的表达式 #6 不在 GROUP BY 子句中并且包含非聚合列修复错误每次重新启动都会重新出现

aru*_*ber 1 mysql php greatest-n-per-group

MySQL Query Failed: Expression #6 of SELECT list is not in GROUP BY clause and contains nonaggregated column 
Run Code Online (Sandbox Code Playgroud)

使用以下查询修复了此错误。通过以 root 用户身份登录 MySQL 控制台

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Run Code Online (Sandbox Code Playgroud)

但问题是每次我重新启动系统时这个错误都会重新出现。如何解决这个问题?

Aki*_*ina 5

那不是错误。这就是“走向标准”。

不要通过更改服务器的 SQL 模式来解决此问题。通过更改使用部分GROUP BY表达式的查询来修复它。

详细信息可以在MySQL 处理 GROUP BY 中阅读