如果存在相同的对(反向),请使用u> v.
SELECT DISTINCT u,v
FROM table t1
WHERE t1.u > t1.v
OR NOT EXISTS (
SELECT * FROM table t2
WHERE t2.u = t1.v AND t2.v = t1.u
)
Run Code Online (Sandbox Code Playgroud)
这将找到所有重复项:
SELECT t1.u, t1.v FROM table t1 INNER JOIN table t2
ON t1.u = t2.v AND t1.v = t2.u
Run Code Online (Sandbox Code Playgroud)
这将删除重复项:
DELETE FROM table t1 WHERE
EXISTS (SELECT * FROM table t2 WHERE t2.u = t1.v AND t2.v = t1.u AND t1.u > t2.u)
Run Code Online (Sandbox Code Playgroud)
请注意,这不会删除像 (2, 2) 这样的重复项,但我认为您已经使用 SELECT DISTINCT 获得了这些重复项。
| 归档时间: |
|
| 查看次数: |
10673 次 |
| 最近记录: |