group by子句中的计算列

时间:2012-04-04 13:45:06

标签: sql-server-2008-r2

我有一个计算列,但不知道如何通过

将列添加到组中

即。

SELECT Category, SUM(Actjan + Actfeb + Actmar) AS Q, 'Q1' as quater
FROM tbl 
GROUP BY Category, 'Q1' as quater

这是在SQL Server 2008 R2上 - 错误是

  

每个GROUP BY表达式必须包含至少一个不是的列   外部参考。

2 个答案:

答案 0 :(得分:1)

您不需要按常量分组(您发布的示例不是计算列)。以下内容应完全符合要求。

SELECT  Category,SUM(Actjan + Actfeb + Actmar) AS Q,'Q1' as quater
FROM tbl 
GROUP BY  Category

答案 1 :(得分:0)

尝试使用列

的值
...
GROUP BY Category, 'Q1'