我有这个查询:
DECLARE @t TABLE(NAME NVARCHAR(MAX),datee date,val money) insert INTO @t SELECT 'a','2012-01-02',100 insert INTO @t SELECT 'a','2012-01-03','2012-01-05',100 insert INTO @t SELECT 'b','2012-01-06',200 insert INTO @t SELECT 'b','2012-01-07',200 insert INTO @t SELECT 'd',400 insert INTO @t SELECT 'e','2012-01-09',500 insert INTO @t SELECT 'f','2012-01-12',600 SELECT Name,datee,SUM (val) from @t GROUP BY NAME,datee
目前的结果是:
但是我需要在最后添加总和.
所以我试着用汇总:
SELECT Name,SUM (val) from @t GROUP BY NAME,datee with ROLLUP
但是我只需要最后总和总线.我不需要报告总额
那么如何才能得到欲望的结果?
(我不能更改group by子句,因为其他人也需要它,我只是想在最后添加和/不使用汇总).
解决方法
可以使用GROUPING SETS,尝试这样:
SELECT Name,SUM (val) FROM @t GROUP BY GROUPING SETS((NAME,datee),())