必须分组到聚合?

Pos*_*Guy 2 sql t-sql sql-server aggregate-functions

是否需要按照您的选择中的某些内容进行分组,如果使用SUM进行聚合?你必须有一个group by子句吗?

Mar*_*ith 6

不,这不是一个要求.

没有a GROUP BY的聚合是标量聚合,并且始终只返回一行.

SELECT SUM(high)
FROM master..spt_values
WHERE 1 = 0
Run Code Online (Sandbox Code Playgroud)

带有a GROUP BY的聚合是向量聚合,每组返回零或一行.

SELECT [type], SUM(high)
FROM master..spt_values
WHERE 1 = 0
GROUP BY [type]
Run Code Online (Sandbox Code Playgroud)