当我在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的行
答案 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;