读书人

了这个SQL语句该如何写?查询+统计

发布时间: 2012-03-09 16:54:57 作者: rapoo

求助了,这个SQL语句该怎么写?查询+统计
比如有这样的表段
id name pay
1 huang 2000
2 liu 5000
...........
我想输出的结果是
查询出来的样子是:
1 huang 2000
2 liu 5000
无 无 7000

第二种情况是
1 huang 2000
2 liu 5000
3 huang 3000

...........(两个huang)

我想输出的结果是:
1 huang 5000
2 liu 5000
无 无 10000

谢谢了


[解决办法]
/*
比如有这样的表段
id name pay
1 huang 2000
2 liu 5000
...........
我想输出的结果是
查询出来的样子是:
1 huang 2000
2 liu 5000
无 无 7000

第二种情况是
1 huang 2000
2 liu 5000
3 huang 3000
(两个huang)
我想输出的结果是:
1 huang 5000
2 liu 5000
无 无 10000
*/
--情况一:
go
if OBJECT_ID('tbl') is not null
drop table tbl
go
create table tbl(
id varchar(5),
name varchar(10),
pay int
)
go
insert tbl
select '1','huang',2000 union all
select '2','liu',5000

select * from tbl
union all
select '合','计',SUM(pay) from tbl

/*
结果:
idnamepay
1huang2000
2liu5000
合计7000
*/
--情况二

go
if OBJECT_ID('tbl') is not null
drop table tbl
go
create table tbl(
id varchar(5),
name varchar(10),
pay int
)
go
insert tbl
select '1','huang',2000 union all
select '2','liu',5000 union all
select '1','huang',3000


select id,name,SUM(pay) from tbl
group by name,id
union all
select '合','计',SUM(pay) from tbl

/*
结果:(我把相同name的id改成一样了)
idname(无列名)
1huang5000
2liu5000
合计10000

*/

读书人网 >SQL Server

热点推荐