求一个sql 语句添加行 合计 内容如下

原始数据 table Table1
name num1 num2

Admin 1 2
Admin 2 2
Bind 3 3
Bind 1 4
Lab 3 3
R&D 2 4

类似这种的数据 想要生成的是
name num1 num2

Admin 1 2
Admin 2 2
Admin Toal 3 4
Bind 3 3
Bind 1 4
Bind Total 4 7
Lab 3 3
R&D 2 4
Lab & R&D 5 7
Total 12 18
像这样生成 每一个分组下面加上一个合计行 然后是最后加个总计行
在线等
请注意第三个分组里有种数据名称

select * from Table1
union all select name+' Toal' name ,sum(num1),sum(num2) from Table1
where name not in('Lab','R&D')
group by name
--order by name
union all select 'R&D & Lab' name,sum(num1),sum(num2) from Table1
where  name in('Lab','R&D')
union all select 'Total' name,sum(num1),sum(num2) from Table1
order by name

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-11
用的是什么数据库?oracle?MySQL?SQLServer?实际数据就只有这些,是吧?追问

sqlserver 08 r2 我就是给个模拟数据 实际比这要多 求个sql 我自己拿来套 谢谢

相似回答