您的位置:首页 > 数据库 > MySQL

mysql删除重复数据

2013-05-07 18:33 232 查看
DELETE FROM test WHERE id NOT IN (
SELECT id AS id FROM (
SELECT MIN(id) AS id #和外边的条件使用一样的名字
FROM test GROUP BY NAME
) AS t #嵌套出来的子查询都会生成一个派生表,而MYSQL规定派生表必须有一个别名
);


另外网上有这种:

#删除重复记录
#通过使用rowid来作为过滤条件,性能高效
DELETE FROM emp e
WHERE  e.ROWID > (SELECT MIN( x.ROWID )
FROM   emp x
WHERE  x.empno = e.empno);


这种方法在MYSQL是不行的,因为mysql规定删除动作不能带有本表的查询动作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: