In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column
时间: 2023-09-28 14:07:01 浏览: 214
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
当你在一个没有使用 GROUP BY 子句的聚合查询中,选择列表中的表达式包含了非聚合列时,你会遇到这个错误。这是因为在没有 GROUP BY 子句的情况下,选择列表中的每个表达式必须是一个聚合函数或者是在 GROUP BY 子句中列出的列。
要解决这个问题,你可以将非聚合列添加到 GROUP BY 子句中,或者使用聚合函数对这些非聚合列进行计算。以下是两种解决方法的示例:
1. 将非聚合列添加到 GROUP BY 子句中:
```
SELECT column1, column2, COUNT(*)
FROM 表名
GROUP BY column1, column2;
```
2. 使用聚合函数对非聚合列进行计算:
```
SELECT MAX(column1), SUM(column2), COUNT(*)
FROM 表名;
```
请根据你的需求选择适合的解决方法,并确保选择列表中的表达式符合聚合查询的要求。
阅读全文