1055 - Expression #4 of SELECT list is not in GROUP BY clause and contains nonaggregated column
时间: 2023-10-12 18:11:45 浏览: 96
MySQL异常:[Err] 1055 – Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nona…
5星 · 资源好评率100%
这个错误通常表示你在使用 GROUP BY 语句时,SELECT 中的某些列没有被包含在 GROUP BY 中,同时这些列也没有被聚合函数(如 SUM、MAX、MIN、AVG、COUNT 等)包含。
例如,以下 SQL 查询会引发这个错误:
```
SELECT name, COUNT(*)
FROM students
GROUP BY grade;
```
因为 SELECT 中的 name 列没有被包含在 GROUP BY 中,同时也没有被 COUNT 函数包含。
为了解决这个问题,你需要确保 GROUP BY 中包含所有 SELECT 中的列,或者将未被包含在 GROUP BY 中的列使用聚合函数进行处理。例如:
```
SELECT grade, name, COUNT(*)
FROM students
GROUP BY grade, name;
```
或者:
```
SELECT grade, MAX(name), COUNT(*)
FROM students
GROUP BY grade;
```
这样就可以避免这个错误了。
阅读全文