1,查询Table1 中重复数据,(不包含重复数据中id最大的一行)(效率比较高)
--查询重复数据
SELECT * FROM Table t1 WHERE EXISTS
(SELECT id FROM Table t2 WHERE t1.列1=t2.列1 AND
t1.列2=t2.列2 AND t1.列3=t2.列3 AND t1.id < t2.id)
--修改重复数据列值 重复数据最大id列值不变
UPDATE Table SET 列='' FROM Table t1 WHERE EXISTS
(SELECT id FROM Table t2 WHERE t1.列1=t2.列1 AND
t1.列2=t2.列2 AND t1.列3=t2.列3 AND t1.id < t2.id)
--删除重复数据 保留最大id
DELETE Table t1 WHERE EXISTS
(SELECT id FROM Table t2 WHERE t1.列1=t2.列1 AND
t1.列2=t2.列2 AND t1.列3=t2.列3 AND t1.id < t2.id)
2.排除所有非重数据和重复数据中为最大id,取出重复数据(不包含重复数据中id最大的一行)
SELECT * FROM Table WHERE id NOT IN (SELECT MAX(id) FROM Table GROUP BY 列1,列2,列3)
SELECT * FROM Table t1 WHERE id NOT EXISTS
(SELECT MAX(t2.id) FROM Table t2 GROUP BY 列1,列2,列3 HAVING t1.id = MAX(t2.id)))