更新重复表而不删除sql

时间:2015-07-27 17:52:52

标签: sql

如何在不删除的情况下区分表中的重复项。

我有一个包含重复值的表名ANGEL。我想在复制品上附加一个字母V而不是删除它们。

1 个答案:

答案 0 :(得分:2)

如果您使用的是SQL Server,则可以使用update类似的内容编写row_number()语句:

create table angel (name varchar(50));

insert into angel values
('test'),
('test'),
('test1'),
('test1'),
('test2'),
('test3');


update a
set a.name = a.name + ' V'
from 
(select name, 
        row_number() over (partition by name order by name) rn
 from angel 
) a
where a.rn = 2;


select * from angel

希望这有帮助!

SQL Fiddle Demo