mysql 8.0下的SELECT list is not in GROUP BY clause and contains nonaggregated column
时间: 2023-07-18 22:21:04 浏览: 88
mysql8.0.20下载安装及遇到的问题(图文详解)
这个错误是因为 MySQL 5.7 和之前版本中 SELECT 中可以包含未在 GROUP BY 子句中的非聚合列,但在 MySQL 8.0 中,为了更严格地执行 SQL 标准,不再允许这种情况出现。
如果要解决这个问题,可以在 SELECT 子句中包含的所有非聚合列都添加到 GROUP BY 子句中,或者将非聚合列转换为聚合列(例如使用 MAX()、MIN()、SUM() 等函数)。
例如,如果你有以下查询语句:
```
SELECT department, name, MAX(salary)
FROM employee
GROUP BY department;
```
在 MySQL 8.0 中,你需要将它修改为:
```
SELECT department, name, MAX(salary)
FROM employee
GROUP BY department, name;
```
或者:
```
SELECT department, MAX(name), MAX(salary)
FROM employee
GROUP BY department;
```
阅读全文