我正在使用Rollup子句以及它如何显示各级WITH NULL
值的聚合,显示rollups
的不同级别,例如rollup(year,month,week)
会在每个级别显示小计。
我希望它卷起来但又想看到最高级别的聚合。
所以我不想看到任何null
值。
知道我该怎么做?
此致 Manjot
答案 0 :(得分: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。