【sql】MySQL删除某字段重复的数据,保留一条数据
1 DELETE FROM 表名 WHERE (字段1) 2 IN 3 (SELECT 字段1 FROM (SELECT 字段1 FROM 表名 GROUP BY 字段1 HAVING COUNT(*)>1) s1) 4 AND 5 id NOT IN (SELECT id FROM (SELECT id FROM account GROUP BY 字段1 HAVING COUNT(*)>1) s2);
Oracle写法
DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1)
AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);