重复的ID而不是行ID

时间:2019-10-29 20:07:13

标签: sql-server

当我在SQL Server中上载表项目时,我看到该行出现重复,例如下面使用Microsoft SQL Server Management Studio的示例:

ID      Status          Code
----------------------------------
144702  Completed       Ok-Q8 AB
144702  Completed       Ok-Q8 AB

我尝试运行delete命令,但是我无法使其工作..我的目标是扫描所有表ID,看看是否存在具有相同ID的行,然后删除其中一个,因此,最后,只有1个具有该ID的行

delete from project
where ID not in
(
    select min(ID)
    from project
);

我的目标是扫描所有表ID,看看是否存在具有相同ID的行,然后删除其中的一个,最后,只有1个具有该ID的行

1 个答案:

答案 0 :(得分:3)

尝试一下

WITH cte AS (
    SELECT 
        ID,
        Status,
        Code,
        ROW_NUMBER() OVER (
            PARTITION BY 
        ID,
        Status,
        Code,
            ORDER BY 
        ID,
        Status,
        Code,
        ) row_num
     FROM 
        project
)
DELETE FROM cte
WHERE row_num > 1;