MySQL 中删除重复数据只保留一条 您所在的位置:网站首页 sql多条重复数据只留一条怎么办 MySQL 中删除重复数据只保留一条

MySQL 中删除重复数据只保留一条

2024-07-05 09:51| 来源: 网络整理| 查看: 265

WechatIMG256.jpeg 场景

在许多条记录里,存在着些相同的记录,使用SQL语句,删除掉重复项只保留一条。

数据模型 half_demon 半妖表 id name weapon skill 1 永远 菊十文字 苍龙破 2 诸叶 弓箭 苍穹箭雨 3 诸叶 俱利伽罗丸 红龙破 4 刹那 兼光之巴 旋风阵 5 刹那 兼光之巴 宿蛾之月 单字段示例 查询语句 SELECT id,name FROM half_demon WHERE name IN ( SELECT name FROM half_demon GROUP BY name HAVING count( name ) > 1 )

查找表中多余的重复记录,重复记录是根据单个字段name来判断。

查询结果 id name weapon skill 2 诸叶 弓箭 苍穹箭雨 3 诸叶 俱利伽罗丸 红龙破 4 刹那 兼光之巴 旋风阵 5 刹那 兼光之巴 宿蛾之月 删除语句 DELETE FROM half_demon WHERE id NOT IN ( SELECT hd.minid FROM ( SELECT MIN( id ) AS minid FROM half_demon GROUP BY name ) hd )

删除表中多余的重复记录,重复记录是根据单个字段name来判断,只留有id最小的记录。

删除结果 id name weapon skill 1 永远 菊十文字 苍龙破 2 诸叶 弓箭 苍穹箭雨 4 刹那 兼光之巴 旋风阵 多字段示例 查询语句 SELECT id, name, weapon FROM half_demon a WHERE ( a.name, a.weapon ) IN ( SELECT name, weapon FROM half_demon GROUP BY name, weapon HAVING count( * ) > 1 )

查找表中多余的重复记录,重复记录是根据多个字段name、weapon来判断。

查询结果 id name weapon skill 4 刹那 兼光之巴 旋风阵 5 刹那 兼光之巴 宿蛾之月 删除语句 DELETE FROM half_demon WHERE ( name, weapon ) IN ( SELECT t.name, t.weapon FROM ( SELECT name, weapon FROM half_demon GROUP BY name, weapon HAVING count( 1 ) > 1 ) t ) AND id NOT IN ( SELECT hd.minid FROM ( SELECT min( id ) AS minid FROM half_demon GROUP BY name, weapon HAVING count( 1 ) > 1 ) hd )

删除表中多余的重复记录,重复记录是根据多个字段name、weapon来判断,只留有id最小的记录。

删除结果 id name weapon skill 1 永远 菊十文字 苍龙破 2 诸叶 弓箭 苍穹箭雨 3 诸叶 俱利伽罗丸 红龙破 4 刹那 兼光之巴 旋风阵


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有