我现在有这个:
DELETE FROM t
FROM (
SELECT
*
, rn = ROW_NUMBER() OVER (
PARTITION BY Street, CAST(PC AS CHAR(4))
ORDER BY CAST(PC AS CHAR(4))
)
FROM Locals where DATALENGTH(PC) < 13
) t
WHERE rn > 1
但我只想在CCD_ 1列相同的情况下删除。
DELETE t
FROM (
SELECT rn = ROW_NUMBER() OVER (PARTITION BY PC ORDER BY PC)
FROM Locals
WHERE DATALENGTH(PC) < 13
) t
WHERE t.rn > 1
请参阅SQLFiddle
上的示例因此,如果PC字段如下所示:sw1-xyz、sw1-yxz、sw2-xyz。我想删除所有PC字段已经重复的条目,所以在上面的例子中,它将删除PC字段中具有sw1-xyz的所有条目,但保留其中一个。