求sql语句

dingzheng1989 2011-03-14 08:46:47
id score
1 60
2 70
3 70
1 45
5 24
2 80
4 88
1 70

上面的表我想分别计算不同id的score的累加和,例如id为1有三个score,60、45、70,我想要60+45+70=175,SQL语句应该怎么写?最后结果应该跟下面一样:

id sum
1 175
2 150
3 70
4 88
5 24

如果要加上按sum降序排列,又该怎么写?

id sum
1 175
2 150
4 88
3 70

5 24


谢谢了
...全文
24 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dingzheng1989 2011-03-14
谢谢了
回复
叶子 2011-03-14

declare @table table (id int,score int)
insert into @table
select 1,60 union all
select 2,70 union all
select 3,70 union all
select 1,45 union all
select 5,24 union all
select 2,80 union all
select 4,88 union all
select 1,70

select id,sum(score) as sumscore
from @table group by id
order by sum(score) desc
/*
id sumscore
----------- -----------
1 175
2 150
4 88
3 70
5 24
*/
回复
王向飞 2011-03-14
select * from (select id,sum(score) as score
from table
group by id) t
order by score desc
回复
王向飞 2011-03-14
id,sum(score)
from table
group by id
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2011-03-14 08:46
社区公告
暂无公告