sql去除多条重复数据(多字段)

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

前言:

此时小伙伴们对“sql去重复数据”大概比较关切,同学们都想要剖析一些“sql去重复数据”的相关内容。那么小编在网摘上搜集了一些对于“sql去重复数据””的相关知识,希望姐妹们能喜欢,咱们快快来了解一下吧!

1.找到重复数据中的一条数据:

SELECT id FROM s_course GROUP BY xn,xq,kcdm,kcmc,kkxy,bjmc,jszgh,jsxm,xkkh,xkdd,sksj HAVING COUNT(sksj)>1

2.找到所有重复数据的id


SELECT * FROM s_course a WHERE EXISTS (SELECT xn,xq,kcdm,kcmc,kkxy,jszgh,jsxm,xkkh,xkdd,sksj FROM (SELECT xn,xq,kcdm,kcmc,kkxy,jszgh,jsxm,xkkh,xkdd,sksj FROM s_course GROUP BY xn,xq,kcdm,kcmc,kkxy,bjmc,jszgh,jsxm,xkkh,xkdd,sksj HAVING COUNT(sksj)> 1) b WHERE a.xn=b.xn AND a.xq=b.xq AND a.kcdm=b.kcdm AND a.kcmc=b.kcmc AND a.kkxy=b.kkxy AND a.jszgh=b.jszgh AND a.xkkh=b.xkkh AND a.xkdd=b.xkdd AND a.sksj=b.sksj)

3.找到所有需要删除的重复数据的id(即在2中除1外的id)


SELECT id FROM (SELECT * FROM s_course a WHERE EXISTS (SELECT xn,xq,kcdm,kcmc,kkxy,jszgh,jsxm,xkkh,xkdd,sksj FROM (SELECT xn,xq,kcdm,kcmc,kkxy,jszgh,jsxm,xkkh,xkdd,sksj FROM s_course GROUP BY xn,xq,kcdm,kcmc,kkxy,bjmc,jszgh,jsxm,xkkh,xkdd,sksj HAVING COUNT(sksj)> 1) b WHERE a.xn=b.xn AND a.xq=b.xq AND a.kcdm=b.kcdm AND a.kcmc=b.kcmc AND a.kkxy=b.kkxy AND a.jszgh=b.jszgh AND a.xkkh=b.xkkh AND a.xkdd=b.xkdd AND a.sksj=b.sksj)) c WHERE NOT EXISTS (SELECT id FROM (SELECT id FROM s_course GROUP BY xn,xq,kcdm,kcmc,kkxy,bjmc,jszgh,jsxm,xkkh,xkdd,sksj HAVING COUNT(jszgh)>1) d WHERE d.id=c.id)

4.根据删除重复的某一条重复数据sql演变


delete e from s_course e inner join (SELECT id FROM s_course GROUP BY xn,xq,kcdm,kcmc,kkxy,bjmc,jszgh,jsxm,xkkh,xkdd,sksj HAVING COUNT(jszgh)>1) f on e.id=f.iddelete e from s_course e inner join (SELECT id FROM (SELECT * FROM s_course a WHERE EXISTS (SELECT xn,xq,kcdm,kcmc,kkxy,jszgh,jsxm,xkkh,xkdd,sksj FROM (SELECT xn,xq,kcdm,kcmc,kkxy,jszgh,jsxm,xkkh,xkdd,sksj FROM s_course GROUP BY xn,xq,kcdm,kcmc,kkxy,bjmc,jszgh,jsxm,xkkh,xkdd,sksj HAVING COUNT(sksj)> 1) b WHERE a.xn=b.xn AND a.xq=b.xq AND a.kcdm=b.kcdm AND a.kcmc=b.kcmc AND a.kkxy=b.kkxy AND a.jszgh=b.jszgh AND a.xkkh=b.xkkh AND a.xkdd=b.xkdd AND a.sksj=b.sksj)) c WHERE NOT EXISTS (SELECT id FROM (SELECT id FROM s_course GROUP BY xn,xq,kcdm,kcmc,kkxy,bjmc,jszgh,jsxm,xkkh,xkdd,sksj HAVING COUNT(jszgh)>1) d WHERE d.id=c.id)) f on e.id=f.id

效率低下,仅适用于小数据范围和手工删除数据

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://www.ssyg068.com/kuaixun/999.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年05月29日
下一篇 2024年05月29日

相关推荐

  • SQL学习:有了这个语句删除数据中重复数据,超简单

    在关系数据库的世界里,重复(行)和 NULL 一样,都不受欢迎 A。人们想了很多办法来排除掉重复(行)。如下图一张商品表,现在假设在这张表里,“橘子”这种商品存在重复。可怕的是,这张表里连主键都没有(其实是根本没法设置主键)。我们现在就需要马上清理一下,去掉重复(

    2024-06-28 23:35:01
    1052 0

发表回复

8206

评论列表(0条)

    暂无评论

binance币安交易所
已有2000万用户加入币安交易所

立即下载