重複があるすべてのレコードを返します:
SELECT theTable.*
FROM theTable
INNER JOIN (
SELECT link, size
FROM theTable
GROUP BY link, size
HAVING count(ID) > 1
) dups ON theTable.link = dups.link AND theTable.size = dups.size
私はサブクエリb/cが好きです。最初または最後を除いて、すべてを選択するようなことができます。 (その後、削除クエリに変換するのは非常に簡単です。)
例:最大IDを持つレコードを除くすべての重複レコードを選択します:
SELECT theTable.*
FROM theTable
INNER JOIN (
SELECT link, size, max(ID) as maxID
FROM theTable
GROUP BY link, size
HAVING count(ID) > 1
) dups ON theTable.link = dups.link
AND theTable.size = dups.size
AND theTable.ID <> dups.maxID