sql server 2008删除重复项

JOE*_*EET 3 sql sql-server sql-server-2008

我有这样的重复

col1, col2
1, alex
1, alex
2, liza
2, liza
3, peter
3, peter
Run Code Online (Sandbox Code Playgroud)

每个只有两个.我该如何删除重复项?

Qua*_*noi 12

WITH    q AS
        (
        SELECT  *,
                ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col1, col2) AS rn
        FROM    mytable
        )
DELETE
FROM    q
WHERE   rn >= 2
Run Code Online (Sandbox Code Playgroud)

看这里:

  • +1:学到了新的东西.我不知道你可以使用CTE作为删除操作的目标. (3认同)