如何解决使用删除查询删除重复的行?
| 这个问题被要求接受采访,我仍然无法通过谷歌搜索找到答案。 我有一张两列的桌子。表格没有任何主键。我想删除重复的行。我可以通过alter table来做到,但是他们想要删除查询。 这是表数据。empid name
1 rahul
2 rajeev
1 rahul
2 rajeev
2 rajeev
3 elias
4 amith
2 rajeev
结果应该是
1 rahul
2 rajeev
3 elias
4 amith
解决方法
正如@Marc B在评论中所说,这听起来像是一个技巧问题。但是如果不是...
我知道的唯一解决方案(没有意识到mysql中适当的排名功能)是以某种方式遍历每个名称并运行以下查询:
DELETE FROM tbl_name
WHERE name=@name
LIMIT 1
这不是一个查询,因此不是有效的答案,但是我不确定在mysql中是否有其他方法可以做到这一点。
另一个选择是在临时表中使用“ 3”,截断原始表,然后将记录从临时表插入到表中。同样,这不能满足要求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。