更新sql server数据库表中的两个重复项之一

前端之家收集整理的这篇文章主要介绍了更新sql server数据库表中的两个重复项之一前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一张表,它有一个重复值的列.我想更新一个2个重复的值,例如row1 = tom和row2 = tom ..我想添加一个或一个到其中一个,这将是同一列中的许多其他重复.基本上只需要为每1个重复项添加一个数字或字母,因此不再有重复.

我得到这个查询,将更新所有的重复,但不是其中之一.谁能帮忙?

UPDATE Table1
   SET Column1 = 'a'
 WHERE exists
       (SELECT Column1,COUNT(Column1 )
FROM Clients
GROUP BY Column1 
HAVING ( COUNT(Column1 ) > 1)
)

解决方法

尝试使用CTE和PARTITION BY
;WITH cte AS
(
  SELECT
      ROW_NUMBER() OVER(PARTITION BY Column1  ORDER BY Column1 ) AS rno,Column1 
  FROM Clients
)

UPDATE cte SET Column1 =Column1 +' 1 '
WHERE rno=2

猜你在找的MsSQL相关文章