假设我有很多专栏。如果两列匹配且完全相同,则它们是重复的。
ID | title | link | size | author
假设两行或更多行的链接和大小相似,则这些行是重复的。
我该如何把这些重复的文件整理成一个清单并加以处理呢?
最佳答案
将返回所有具有重复数据的记录:
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
。。
示例:选择除具有最大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