Query failed: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'hrms.deductions.id'; this is incompatible with sql_mode=only_full_group_by
时间: 2023-11-03 22:08:32 浏览: 130
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
这个错误是因为你的 MySQL 服务的 sql_mode 设置包含了 only_full_group_by 参数,导致在聚合查询时必须使用 GROUP BY 子句对查询结果进行分组,而你的查询语句中 SELECT 列表中包含了未聚合的列。有两种解决方法:
1. 修改 MySQL 的 sql_mode 设置,去掉 only_full_group_by 参数。可以在 MySQL 的配置文件中修改或者在运行时执行 SET sql_mode = 'modes' 命令来修改。
2. 在查询语句中使用 GROUP BY 子句对未聚合的列进行分组。例如,如果你的查询语句是这样的:
```
SELECT id, name, SUM(amount) FROM deductions;
```
那么你可以修改为:
```
SELECT id, name, SUM(amount) FROM deductions GROUP BY id, name;
```
这样就可以避免上述错误。
阅读全文