重複行の削除(rowidを使ったやり方)
これがその1(極値関数の利用)
DELETE FROM Products P1
WHERE rowid < ( SELECT MAX(P2.rowid)
FROM Products P2
WHERE P1.name = P2. name
AND P1.price = P2.price ) ;
EXISTSを使ったパターン(非等値結合の利用)
DELETE FROM Products P1
WHERE EXISTS ( SELECT * FROM Products P2
WHERE P1.name = P2.name
AND P1.price = P2.price
AND P1.rowid < P2.rowid );
つまりは、重複している行のうち、一番デカイROWID以外のレコードは削除!ってことです


コメント