Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL拆分重复项并重命名_Sql_Duplicates - Fatal编程技术网

SQL拆分重复项并重命名

SQL拆分重复项并重命名,sql,duplicates,Sql,Duplicates,我有一个包含员工ID和用户名的表。某些员工ID重复,但用户名不同。我需要去掉重复的,并用新的员工ID将它们添加回列表中 例如: EMPID|UserName 1 | Josh 2 | John 2 | Kate 2 | Jorge 3 | Taylor 3 | Morgan 4 | Nathan 我需要切换到: 1|Josh 2|John 3|Taylor 4|Nathan 5|Kate 6|Jorge 7|Morgan 我知道查找重复项的SQL语句

我有一个包含员工ID和用户名的表。某些员工ID重复,但用户名不同。我需要去掉重复的,并用新的员工ID将它们添加回列表中

例如:

EMPID|UserName
1    | Josh
2    | John
2    | Kate
2    | Jorge
3    | Taylor
3    | Morgan
4    | Nathan
我需要切换到:

1|Josh
2|John
3|Taylor
4|Nathan
5|Kate
6|Jorge
7|Morgan
我知道查找重复项的SQL语句。但要做这种动作,我就不知所措了

谢谢大家!

测试数据 更新查询 结果 从@Table中选择*

╔═══════╦══════════╗
║ EMPID ║ UserName ║
╠═══════╬══════════╣
║     1 ║ Josh     ║
║     2 ║ Kate     ║
║     3 ║ Taylor   ║
║     4 ║ Nathan   ║
║     5 ║ John     ║
║     6 ║ Jorge    ║
║     7 ║ Morgan   ║
╚═══════╩══════════╝

您使用的是什么数据库?为什么要查找重复的数据库?再次设置所有用户的
EmpId
。使用Mircosoft SQL 2008 R2。我必须保留具有相同EmpId的唯一用户。查找所有重复项,查找最大EmpId,设置重复项EmpId,序列号从最大EmpId开始
;WITH CTE AS 
(
 SELECT * , ROW_NUMBER() OVER (ORDER BY EMPID,UserName) + (SELECT MAX(EMPID) FROM @TABLE) New_ID
 FROM @TABLE t
 WHERE NOT EXISTS (SELECT EMPID , MAX(UserName) AS UserName1
                  FROM @TABLE
                  WHERE  EMPID = t.EMPID
                  GROUP BY EMPID
                  HAVING   MAX(UserName) = t.UserName)
)
UPDATE CTE 
 SET EMPID = New_ID
╔═══════╦══════════╗
║ EMPID ║ UserName ║
╠═══════╬══════════╣
║     1 ║ Josh     ║
║     2 ║ Kate     ║
║     3 ║ Taylor   ║
║     4 ║ Nathan   ║
║     5 ║ John     ║
║     6 ║ Jorge    ║
║     7 ║ Morgan   ║
╚═══════╩══════════╝