2016-04-17 10 views

答えて

0

これを試してください。オカレンスをTable1に置き換え、実際のテーブル名に置き換えます。最も内側のクエリで

DELETE FROM Table1 WHERE ID IN 
(SELECT * FROM 
    (SELECT T2.Id 
    FROM Table1 T1 
    INNER JOIN Table1 T2 
    ON T1.Cod1 = T2.Cod1 AND T1.Model = T2.Model 
    WHERE T2.ID > T1.ID 
    )T 
); 

sqlfiddle

、T1はCOD1とモデルマッチとT2.Idが大きくIDされるときにT2のレコードに一致するでしょう。したがって、削除する行のIDを返します。しかし、Mysqlでは、同じテーブルのクエリから削除することはできません。そのため、別のSELECTステートメント内でラップしてMysqlをトリッキーにする必要があります。以上です。

+0

Excelent Idea and Example、Works完璧に動作します。本当にありがとう。 – Peter013

関連する問題