0
点赞
收藏
分享

微信扫一扫

Mysql中如何去除重复数据,只保留一条。

1、如果没有主键,则新增自增主键:

-- 改变表结构,增加名为id的列
ALTER TABLE emp add id int first; 
-- 将id字段设置为主键自增;
ALTER table emp MODIFY id int PRIMARY key auto_increment;

2、根据name分组取最小id

SELECT
    t.id 
FROM
	( SELECT MIN(id) AS id FROM emp GROUP BY name ) t)

3、利用id字段not in删除,最终sql:

DELETE 
FROM
	emp
WHERE
	id NOT IN (
	SELECT
		t.id 
FROM
	( SELECT MIN(id) AS id FROM emp GROUP BY name ) t)

  这就达成目的了。

举报

相关推荐

0 条评论