所有行的总和在第一行成一行

时间:2015-12-09 03:09:52

标签: sql sql-server sql-server-2008 sql-server-2012

我需要一些帮助来总结未来。我正在尝试标记的总和和预期标记的总和 最后一行。

这就是我想要的。 我将标准,标记,预期标记和偏差插入临时表。 这里临时表有一个标识列。

Create table #temp( id int identity(1,1),
standard varchar(20), marks int, [expected marks] int,
deviation float
) 
Insert into #temp 
select * from mytable


id  standard    marks   expectedmarks   Deviation in %
0   Total       205       299           31.43812709
1   1st          50        60           16.66666667
2   2nd          60        80           25
3   3rd          45        70           35.71428571
4   5th          50        89           43.82022472

这里我想最后插入总标记,预期标记和偏差 并将显示在第一行

select * from temp 
order by id desc

1 个答案:

答案 0 :(得分:0)

使用UNION ALL在结果和SUM中加入ORDER BY id

select
    id, standard, marks, expectedmarks, deviation 
from temp 
union all
select 
    0, 'Total', sum(marks), sum(expectedmarks), sum(deviation)
from temp
order by id asc