SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

Posted per10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中相关的知识,希望对你有一定的参考价值。

聚合函数:聚合函数就是对一组值进行计算后返回单个值。

包括:

COUNT(统计函数);
COUNT_BIG(统计函数);
SUM(求和函数);
AVG(求平均值函数);
MAX(最大值函数);
MIN(最小值函数);
STDEV(标准偏差值函数);
VAR(方差值函数);
HAVING(HAVING子句仅用于带有 GROUP BY 子句的查询语句中,WHERE子句用于每一行数据的筛选(在变成一个组的某一部分之前),而HAVING子句用于分组的聚合值的筛选)

-----------------------------------------------------------------

标题错误的解决方案:指定 [GROUP BY] 时,select语句中所有的非聚合函数列都应与 GROUP BY 列表匹配,或者 GROUP BY 列表必须与select语句中所有的非聚合函数列完全匹配。

如:

select id,x,y,max(time)
from[Test1].[dbo].[seven]
group by id

将会发生标题的错误。可以改为:

select id,x,y,max(time)
from[Test1].[dbo].[seven]
group by id,x,y

 

参考自:

https://www.cnblogs.com/limeiky/p/5499163.html

https://www.cnblogs.com/Brambling/p/6711937.html

以上是关于SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL 中使用 Group By 和 Aggregate - 获取错误“选择列表中的列无效,因为它不包含在聚合函数或 GROUP BY 中”

选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

选择列表中的列无效

选择列表中的列“X”无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中