在SQL查询中将别名命名为汇总?

vis*_*ion 11 sql t-sql stored-procedures rollup sql-server-2008-r2

with rollup在我的SQL查询中使用.我没有获得汇总的别名.

我的SQL是

SELECT [Column1],
       sum([Column2])
FROM   Tablea
GROUP  BY [Column2] WITH ROLLUP 
Run Code Online (Sandbox Code Playgroud)

哪个回报

s       8
t       8
j       8
null    24 
Run Code Online (Sandbox Code Playgroud)

如何更换NULL总排?

Mar*_*ith 18

您可以GROUPINGCASE表达式中使用该函数.

SELECT CASE
         WHEN GROUPING([Column1]) = 1 THEN 'Total'
         ELSE [Column1]
       END [Column1],
       sum([Column2])
FROM   Tablea
GROUP  BY [Column1] WITH ROLLUP 
Run Code Online (Sandbox Code Playgroud)

SQL小提琴

  • 嘿,不想拖累一个旧帖子......但是讨厌为我的无知做一个新的.当我运行类似的查询尝试使用CASE表达式时,我收到一条错误,指出函数DB.GROUPING不存在.对此有何见解? (3认同)
  • @Ethan:问题应该在“问题”而不是评论中提出;因此可以在“答案”中回答,而不是其他评论。 (3认同)

小智 5

select 
isnull([column1],'rollup'), 
sum([column2] )
from tableA
group by [column1] 
WITH ROLLUP
Run Code Online (Sandbox Code Playgroud)

  • 如果“ column1”包含“ NULL”,则不会返回正确的结果。“ GROUPING”功能是正确的方法。[“ GROUPING用于将ROLLUP,CUBE或GROUPING SETS返回的空值与标准空值区分开。”](http://technet.microsoft.com/zh-cn/library/ms178544.aspx) (3认同)