[Err] 1140 - In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'db4.car.城市'; this is incompatible with sql_mode=only_full_group_by
时间: 2023-06-18 11:04:49 浏览: 161
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
这个错误是因为在你的 SQL 查询语句中,你使用了聚合函数(如 SUM、AVG、COUNT)以外的列,并且同时开启了 SQL 模式中的 `only_full_group_by` 选项。这个选项要求在 GROUP BY 子句中出现的列必须都出现在 SELECT 子句中,或者作为聚合函数的参数。如果不符合要求,就会报出这个错误。
解决这个问题的方法有两种:
1. 关闭 `only_full_group_by` 选项。你可以通过执行 `SET sql_mode=''` 命令来关闭这个选项,但这样可能会导致其他潜在的问题。你可以考虑只在需要的时候关闭它,或者在 MySQL 配置文件中修改全局设置。
2. 在查询语句中添加 GROUP BY 子句,并将所有非聚合列都列出来。例如,如果你的查询语句是 `SELECT SUM(销售额), 城市 FROM 车辆 GROUP BY 品牌`,你可以改成 `SELECT SUM(销售额), 城市 FROM 车辆 GROUP BY 品牌, 城市`,这样就能避免出现这个错误。
阅读全文