GROUP BY ROLLUP生产不必要的行

问题描述 投票:2回答:1
SELECT [Code],
       [Posting Date],
       [Document No_],
       [Description],
       [External Document No_],
       Sum(Amount)
FROM [Table1]
GROUP BY ROLLUP ([Global Dimension 1 Code],
                 [Posting Date],
                 [Document No_],
                 [Description],
                 [External Document No_]);

每当我运行上面的查询,我要进行分类汇总求和(金额),每个“代码”列上使用GROUP BY ROLLUP左侧,但它在复制下面的阶梯状效果行。我觉得我失去了一些东西明显。突出显示的绿色行是唯一的行我希望汇总返回。所述第二画面是所期望的结果

enter image description here

enter image description here

sql sql-server tsql
1个回答
4
投票

你不需要ROLLUP这里。这会给你聚集在层次结构的各个层次。您可以使用

GROUP BY GROUPING SETS (([Code], [Posting Date], [Document No_], [Description], [External Document No_]),
                        (Code))
© www.soinside.com 2019 - 2024. All rights reserved.