sql 合并相同一个字段并将另外一个字段的值相加 非查询

我有一会员表为 card
卡号 姓名 积分
1 张三 10
2 李四 2
3 张三 5
4 王二 6
5 李四 3

怎样才能把表改为

卡号 姓名 积分
1 张三 15
2 李四 5
3 王二 6
。。。。。

分几步,以下操作应在sqlserver2005以上或oracle9i以上执行。否则会报错。

1、创建备份表

create table card_bak as select * from card;

2、删掉原表数据

truncate table card;

3、将备份表中数据经过sql语句查询后的结果(也就是你结果显示的结果)插入原表中

insert into card 
select row_number() over (order by 姓名) as rn,t.姓名,t.积分
from (select 姓名,sum(积分) as 积分 from card_bak group by 姓名) t

4、检查数据是否正确

5、删掉备份表

drop table card_bak;
温馨提示:答案为网友推荐,仅供参考
相似回答