与 SQL 服务器汇总汇总 - 但只有最后一个摘要?
我有这个问题:
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-02',100
insert INTO @t SELECT 'a','2012-01-03',100
insert INTO @t SELECT 'a','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','2012-01-07',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
目前的结果是:
但我需要在末尾添加 sum
.所以我尝试了汇总:
BUT I need to add sum
at the end.
So I tried with rollup:
SELECT Name,datee,SUM (val)
from @t GROUP BY NAME ,datee with ROLLUP
但我只需要 last 总和行.我不需要 in-report sum's
BUT I only need the last sum total line. I don't need the in-report sum's
那么怎么才能得到想要的结果呢?
So how can get the desire result?
(我无法更改 group by
子句,因为其他人也需要它,我只想在有/没有汇总的情况下添加总和).
(I cant change the group by
clause cause others need it also , I just want to add sum at the end with/without rollup).
sql在线来了
推荐答案
GROUPING SETS
可以,试试这个:
SELECT Name,datee,SUM (val)
FROM @t
GROUP BY
GROUPING SETS((NAME ,datee), ())
SQL 小提琴
相关文章