如何删除MySQL数据库中表傻子魏三逛窑子的重复记录且仅保留其中一条?

摘要:假如现在 MySQL数据库有几万条记录,由于某些原因导致其中存在一些重复的记录。那么如何删除重复记录只留其中一


假如现在?MySQL数据库有几万条记录,由于某些原因导致其中存在一些重复的记录。那么如何删除重复记录只留其中一条呢?

比如,比如存在十条重复的记录,需要删除其它九条记录,华县樱桃沟,只保留一条记录。 数据准备

我们创建如下示例表,溥熙来事件,?Student_Information?表创建?SQL如下 :

如何删除MySQL数据库中表的重复记录且仅保留其中一条?

我们插入一部分数据到该表,其中存在多条姓名为?Anaa?手机号码重复数据,如下:

如何删除MySQL数据库中表的重复记录且仅保留其中一条?

数据入库后,我们通过?select * from Student_Information?查询结果如下:

如何删除MySQL数据库中表的重复记录且仅保留其中一条?

设计SQL

我们通过?Group by对手机号进行分组,然后计算每组最大ID作为保留数据,然后删除其他数据。SQL设计如下:

如何删除MySQL数据库中表的重复记录且仅保留其中一条?

执行该SQL,结果如下:

如何删除MySQL数据库中表的重复记录且仅保留其中一条?

我们可以看到,该?SQL删除了重复的数据时,并且保留了id最大的数据(最新数据)。

设计该SQL时需要注意什么?

我们需要注意,使用?MySQL?进行?Delete From?操作时,若子查询的?FROM?子句和删除或更新对象使用同一张表时,会出现"You can't specify target table for update in FROM clause”。错误。

比如,我们设计如下SQL。该?SQL从语法来看也实现删除?Student_Information?表重复数据,我们执行一下看下结果。

如何删除MySQL数据库中表的重复记录且仅保留其中一条?

执行结果如下,我们可以看到抛出了"You can't specify target table for update in FROM clause”错误,tokyo hot n0826,那么该如何解决呢?

如何删除MySQL数据库中表的重复记录且仅保留其中一条?

解决这个问题的方法也很简单,67.220.90.4ip被封,就是将?select?出的结果通过中间表再?select?一遍即可,武当休闲山庄男体,如下:

如何删除MySQL数据库中表的重复记录且仅保留其中一条?


本文地址:http://www.ybdly.com/keji/0919/14492.html 转载请注明出处!
相关文章:
  1. [科技] 建表SQL语句如下: 插入SQL语句如下: 表数勤王
  2. [科技]阿里P8架构师谈:MySQL数据库涂鸦网 啵巧可力po
  3. [科技]charset_n泰塔尔ame未明确