• 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



  • 相关阅读:
    打酱油
    一个在线演示代码运行的网站
    java数据结构之枚举
    tomcat ; nginx ;mysql
    restful demo 演示; jquery min1.1;
    rest规范 ; restful 风格; gradel介绍 ; idea安装 ;
    jetty;tomcat;热部署
    web容器 web服务器 servlet/jsp容器 之间的区别和关系是什么?
    jetty;linux 目录结构
    servlet;jsp;cookies;session
  • 原文地址:https://www.cnblogs.com/president/p/ae42d72419553b96fb9a0efa811c5108.html
Copyright © 2020-2023  润新知