aggregate functions are not allowed in GROUP BY 第114行 count(*) as supplement,
时间: 2024-10-10 14:03:04 浏览: 15
解决大于5.7版本mysql的分组报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated
5星 · 资源好评率100%
"Aggregate functions are not allowed in GROUP BY" 这句话的意思是在SQL查询语句中,当你使用了GROUP BY关键字对数据进行分组的时候,通常不允许直接在GROUP BY语句后使用COUNT(*)这样的聚合函数。COUNT(*)是一个计数函数,它会计算分组后的每组记录数。例如:
```
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1;
```
在这个例子中,`COUNT(*)`应该放在`GROUP BY column1`之后,但如果这样做,SQL解析器将无法确定你应该按哪一列的值来计数,因为*表示所有的记录,所以它会抛出错误。
正确的做法是在GROUP BY语句之前单独使用COUNT(*),或者明确列出你想要计数的具体列,如:
```
SELECT column1, COUNT(column2)
FROM table_name
GROUP BY column1;
```
这里,SQL会按照column1的值对table_name表进行分组,并统计每个group中column2的数量。
阅读全文