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

mysql 去除重复记录的方法

2017-02-07 14:31 363 查看
18  1   小明
20  2   小雷
21  1   小明
22  1   小明
23  2   小雷
24  2   小雷


数据中有以上数据,现在需要去除重复的记录,一开始以为可以直接用这段sql:

DELETE  from stu s WHERE s.id in (SELECT max(id) id from stu GROUP BY sid)


===>结果报错:

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE s.id in (SELECT max(id) id from stu GROUP BY sid)' at line 1


查资料发现:

数据库现在不支持对一个表进行select等子操作后,然后对该表做delete或者updata这类的操作。

整理思路后写出这样的sql,发现可行,就此记录如下:

DELETE from stu where id not in ( SELECT * from ((SELECT max(id) from stu GROUP BY sname )as a ))


执行后数据库中数据如下:

22  1   小明
24  2   小雷
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 数据 去重