--------------------------------------------------------------
select * from (
select cast(tid as varchar(200)) as Tid,num,unit from #tmp
union
select '小计' as Tid ,sum(num) as num, unit from #tmp group by unit
) a
order by unit
结果为:
1 12 u1
2 122 u1
3 112 u1
小计 246 u1
4 120 u2
5 102 u2
6 102 u2
小计 324 u2