2017-02-08 5 views

ответ

2

Использование Rollup получить итоговой строке

SELECT CASE 
     WHEN Grouping(code) = 1 THEN 'Total' 
     ELSE Cast(code AS VARCHAR(50)) 
     END, 
     Sum(item) 
FROM Yourtable 
GROUP BY code WITH rollup 
1
select * from (select * from #Table1 
union 
select null, sum(item) item from #Table1)a 
order by item 
+0

хотя это может сработать, этот доступ к таблице дважды. См. Выше решения – TheGameiswar

1
DECLARE @Table1 TABLE 
    (Code int, item int) 
; 

INSERT INTO @Table1 
    (Code, item) 
VALUES 
    (1, 30), 
    (3, 40), 
    (4, 50), 
    (9, 80) 
; 

Сценарий:

select Code , sum(item)item 
from @Table1 
group by GROUPING SETS((Code) ,()) 
order by Code DESC 
0
Select 
    Code, 
    item 
from 
    @ table_name 
Union All 
select 
    Null, 
    sum(item)item 
from 
    @ table_name 

Как ар e, используя союз, все такие разные, и порядок работы будет сохранен.