TSQL汇总-返回不为空

问题描述 投票:0回答:1

我正在使用 Rollup 子句,您可以了解它如何显示不同级别的聚合

WITH NULL
值显示不同级别的
rollups
例如
rollup(year,month,week)
将显示每个级别的小计。

我希望将其汇总,但只想看到最高级别的聚合。 所以我不想看到任何

null
值。

知道我该怎么做吗?

问候 曼乔特

sql-server-2008 t-sql
1个回答
6
投票

“仅最高级别的聚合”是什么意思?

您可以通过检查列是否已分组来避免 NULL,如下所示:

SELECT        CASE WHEN Grouping(GroupID) = 1 THEN '#ALL' ELSE GroupID END AS         GroupID,          
              CASE WHEN Grouping(SubGroupID) = 1 THEN '#ALL' ELSE SubGroupID END AS SubGroupID, 
              Sum(Value)
FROM          Table
GROUP BY      GroupID,
              SubGroupID
WITH ROLLUP

它将显示#ALL而不是NULL。

© www.soinside.com 2019 - 2024. All rights reserved.