Cause: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
时间: 2023-11-17 19:02:53 浏览: 139
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
个错误通常是由于在使用GROUP BY子句时,SELECT列表中的列与GROUP BY子句中的列不匹配引起的。这个错误的原因是因为MySQL默认启用了ONLY_FULL_GROUP_BY模式,这意味着在使用GROUP BY子句时,SELECT列表中的所有列都必须在GROUP BY子句中出现,或者是聚合函数的结果。如果SELECT列表中的列不是聚合函数的结果,并且不在GROUP BY子句中出现,则会出现这个错误。
解决这个问题的方法是将SELECT列表中的所有列都添加到GROUP BY子句中,或者将SELECT列表中的非聚合函数列替换为聚合函数的结果。如果你确定你的查询逻辑正确,你也可以通过修改MySQL的配置文件来禁用ONLY_FULL_GROUP_BY模式。
```sql
SELECT column1, SUM(column2)
FROM table_name
GROUP BY column1;
```
阅读全文