我有一张桌子看起来像这样:
Tx1 TX2 Val
SP1 SP1 1
SP1 SP2 0.56
SP1 SP3 0.78
SP2 SP1 0.56
SP2 SP2 1
SP2 SP3 0.47
SP3 SP1 0.78
SP3 SP2 0.47
SP3 SP3 1
我希望mySQL使用cols 1和col2(Tx1&2)的所有组合对重复项进行排序。所以我得到:
Tx1 TX2 Val
SP1 SP1 1
SP1 SP2 0.56
SP1 SP3 0.78
SP2 SP2 1
SP2 SP3 0.47
SP3 SP3 1
有人能提出这样的问题吗?
谢谢,
戴夫。
最佳答案
这样的做法应该管用:
DELETE FROM tablename
WHERE id IN (
SELECT id FROM tablename
GROUP BY CONCAT(Tx1,":",Tx2)
HAVING COUNT(*) > 1
)
我相信这只会删除第一个副本。因此,如果有三次(等),则必须再次运行查询。
关于mysql - 使用两栏组合从mySQL表中删除重复项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4362658/