如何从数据库表中的N个重复记录更新(N-1)个记录(SQL SERVER 2005)
背景:在比较并插入其他两个表中的记录后,我正在生成一个临时表。
所以临时表有一些记录有一些重复的字段(比如:订单ID,交易ID等......) - 但是是不同的
我已经获取了所谓的重复记录,但没有想到如何在这N条记录中更新N-1记录。
感谢任何帮助(尤其是示例代码)。 提前致谢。
答案 0 :(得分:1)
WITH duplicates AS (
SELECT
ROW_NUMBER() OVER (PARTITION BY x,y,z ORDER BY a,b,c) AS duplicate_id,
*
FROM
myData
)
UPDATE
duplicates
SET
foo = bar
WHERE
duplicate_id > 1
x,y,z
是识别重复项所需的字段。这可能是所有字段,具体取决于您对重复的定义。