我有一个mysql表,看起来像这样:
id_one id_two
1 2
2 1
3 2
2 3
4 5
5 4
我想删除具有两个重复值的行,而不管它们位于哪一列,因此示例如下所示:
id_one id_two
1 2
3 2
5 4
总共有1200万行。关于如何执行此操作的任何想法?
PHP或MySQL查询将是首选。
最佳答案
DELETE a
FROM table1 a
LEFT JOIN
(
select id_one, id_two
from Table1
GROUP BY least(id_one, id_two), greatest(id_one, id_two)
) b ON a.id_one = b.id_one AND a.id_two = b.id_two
WHERE b.id_two IS NULL
SQLFiddle Demo