mysql5.7.34使用group by不规范,导致SELECT list is not in GROUP BY clause and contains nonaggregated column
时间: 2023-11-10 16:04:34 浏览: 97
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
这个问题是因为 MySQL 5.7.5 之后的版本默认启用了 ONLY_FULL_GROUP_BY 模式,要求 GROUP BY 子句中的列必须出现在 SELECT 列表中或者使用聚合函数进行处理。如果不想启用 ONLY_FULL_GROUP_BY 模式,可以在配置文件中设置 sql_mode 参数。
可以通过以下两种方式解决这个问题:
1. 在 SELECT 列表中添加需要 GROUP BY 的列或者使用聚合函数进行处理。
2. 修改 MySQL 配置文件,将 sql_mode 参数中的 ONLY_FULL_GROUP_BY 移除。
阅读全文