zoukankan      html  css  js  c++  java
  • SqlServer查找表中多余的重复记录

    1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
    select 
    * from people
    where peopleId in (select peopleId from 
    people group by peopleId having count(peopleId) 
    > 1) 

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

    delete 
    from people
    where peopleId in (select peopleId from 
    people group by peopleId having 
    count(peopleId) > 1)
    and rowid not in (select min(rowid) from 
    people group by peopleId having count(peopleId 
    )>1)

     

     

    3、查找表中多余的重复记录(多个字段)
    select * from vitae a
    where (a.peopleId,a.seq) 
    in (select peopleId,seq from vitae group by peopleId,seq having 
    count(*) > 1)


    4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

    delete from vitae a
    where 
    (a.peopleId,a.seq) in (select peopleId,seq from vitae group by 
    peopleId,seq having count(*) > 1)
    and rowid not in (select min(rowid) from 
    vitae group by peopleId,seq having count(*)>1)


    5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录

    select * from vitae a
    where 
    (a.peopleId,a.seq) in (select peopleId,seq from vitae group by 
    peopleId,seq having count(*) > 1)
    and rowid not in (select min(rowid) from 
    vitae group by peopleId,seq having count(*)>1)

    (二)
    比方说
    在A表中存在一个字段“name”,
    而且不同记录之间的“name”值有可能会相同,
    现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;

    Select 
    Name,Count(*) From A Group By Name Having Count(*) > 1

    如果还查性别也相同大则如下:

    Select Name,sex,Count(*) From A Group By Name,sex Having 
    Count(*) > 1



  • 相关阅读:
    React-精华版
    国内优秀npm镜像推荐及使用
    GitHub 配置指南
    Nodejs之WebSocket
    js验证连续两位数字递增或递减和连续三位数字相同
    JS魔法堂:LINK元素深入详解
    phpstorm将多个int数字拼接成字符串
    php中使用curl来post一段json数据
    MySQL索引使用:字段为varchar类型时,条件要使用''包起来
    MySQL中enum类型数据,要传入字符串
  • 原文地址:https://www.cnblogs.com/president/p/ae42d72419553b96fb9a0efa811c5108.html
Copyright © 2011-2022 走看看