私は次のようなテーブルを持っています
productId retailerId
1 2
1 2
1 4
1 6
1 8
1 8
2 3
2 6
2 6
ここで、重複を削除する必要があります。1 つのフィールドが同じ場合に重複を削除する方法を理解しました。しかし、両方のフィールドが同一である 、 、1 2
など1 8
の重複を削除する必要があります。2 6
どんな助けでも非常に感謝しています。
私は次のようなテーブルを持っています
productId retailerId
1 2
1 2
1 4
1 6
1 8
1 8
2 3
2 6
2 6
ここで、重複を削除する必要があります。1 つのフィールドが同じ場合に重複を削除する方法を理解しました。しかし、両方のフィールドが同一である 、 、1 2
など1 8
の重複を削除する必要があります。2 6
どんな助けでも非常に感謝しています。
mysql の複数テーブルDELETE
構文を次のように使用します。
delete mytable
from mytable
join mytable t
on t.productId = mytable.productId
and t.retailerId = mytable.retailerId
and t.id < mytable.id
SQLFiddleで実行されているこれを参照してください。
id 列もあると仮定していることに注意してください。
列がないためid
、最も簡単な方法は、次のように、目的のデータを一時テーブルにコピーし、すべてのデータを削除してからコピーして戻すことです。
CREATE TEMPORARY TABLE temptable
SELECT DISTINCT productId, retailerId
FROM mytable;
DELEYE FROM mytable;
INSERT INTO mytable
SELECT *
FROM temptable;