MySQL报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column whic
时间: 2023-11-01 13:54:40 浏览: 228
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
ch is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
该错误是因为在MySQL的ONLY_FULL_GROUP_BY模式下,SELECT语句中的列必须要么包含在GROUP BY子句中,要么是聚合函数的参数。但是你的查询中,第一个表达式(#1)不在GROUP BY子句中,并且它也不是其他列的函数依赖项,因此导致了这个错误。
为了解决这个问题,你可以进行以下操作之一:
1. 将非聚合的列添加到GROUP BY子句中,以满足ONLY_FULL_GROUP_BY模式的要求。
2. 将非聚合的列作为聚合函数的参数,例如SUM、COUNT等。
3. 修改MySQL的sql_mode设置,将ONLY_FULL_GROUP_BY模式禁用。但是需要注意,禁用该模式可能会导致一些潜在的问题,所以需要谨慎使用。
你可以根据具体情况选择适合你需求的解决方案。
阅读全文