栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

重命名sql中的重复数据

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重命名sql中的重复数据

假设您在表上有某种主键,例如自动增量ID,则可以执行以下操作。

UPDATe group SET names = CONCAt(names,' Copy 1')WHERe ID IN(SELECT MAX(ID) FROM group GROUP BY names HAVINg count(*) > 1);

为了说明,它将查找重复的任何内容,为该集中的所有内容获取最大ID,并在其末尾附加“副本1”。如果您有3次或多次使用某些名称,则可能仍会留下一些重复项。只需再次运行它,这次使用“副本2”而不是“副本1”。继续重复此过程,直到消除所有重复项。

更新。要从@Yahia借用一个想法并使用UUID,如果要在一个查询中全部完成,可以执行以下操作。

UPDATe group SET names = CONCAt(names, CONCAt ( ' Copy ', UUID_SHORT() ) )WHERe ID NOT IN(SELECT MIN(ID) FROM group GROUP BY names HAVINg count(*) > 1) ANDID IN(SELECt IDFROM group AS G1INNER JOIN group AS G2ON G1.names = G2.names AND G1.ID <> G2.ID);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382333.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号