23 sql 查找表中多余的重复记录

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

select * from TableName

where DocId in (select DocId from TableName group by DocId having count(DocId) > 1)

例二:

select * from TableName

where UserName in (select UserName from TableName group by TableName having count(TableName) > 1 )

可以查出表中UserName相同的记录

2、删除表中多余的重复记录,重复记录是根据单个字段(DocId)来判断,只留有DocId最小的记录

delete from TableName

where DocId in (select  DocId from TableName group by DocId  having count(DocId) > 1)

and DocId not in (select min(DocId) from  TableName group by DocId having count(DocId)>1)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 1,254评论 0 7
  • sql 查出一张表中重复的所有记录数据 1、在面试的时候碰到一个 问题,就是让写一张表中有id和name 两个字段...
    雨笋情缘阅读 781评论 0 0
  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 1,121评论 0 0
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,504评论 0 13
  • 你是不畏世俗异样眼光而毅然归隐的斗士么?是不为五斗米向乡里小儿折腰的高傲者么?是与下层民众谈笑风生的阶级叛逆者么?...
    聆风伴雪阅读 739评论 1 3