首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求SQL相加后增一行输出解决方法

2012-03-21 
求SQL相加后增一行输出如下的数据mna 1a 1a 1b 2b 2b 2...把所有的当m相同的时候将n的值相加,然后按照m排

求SQL相加后增一行输出
如下的数据
m n
a 1
a 1
a 1
b 2
b 2
b 2
...
把所有的当m相同的时候将n的值相加,然后按照m排序后在最后一行新增
m n 
a 1
a 1
a 1
a 3
b 2
b 2
b 2
b 6
...


[解决办法]
union all联合一个select m,sum(n) from tb group by m
然后做个排序。
[解决办法]
/*
m n
a 1
a 1
a 1
b 2
b 2
b 2
把所有的当m相同的时候将n的值相加,然后按照m排序后在最后一行新增
m n
a 1
a 1
a 1
a 3
b 2
b 2
b 2
b 6

*/
go
if OBJECT_ID('tbl') is not null
drop table tbl
go
create table tbl(
m varchar(5),
n int
)
go
insert tbl
select 'a',1 union all
select 'a',1 union all
select 'a',1 union all
select 'b',2 union all
select 'b',2 union all
select 'b',2
select * from tbl
union all
select m,SUM(n) from tbl group by m order by m,n
/*
结果:
mn
a1
a1
a1
a3
b2
b2
b2
b6
*/

热点排行