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



  • 相关阅读:
    排序-计数-优化版
    排序-计数-基础版
    排序-归并
    Unity战斗模块之角色继承设计---1.1
    Unity中保存和读取数据的类---PlayerPrefs
    《计算机图形学》 第一章 基础知识--02向量(二维)
    《计算机图形学》 第一章 基础知识--01下载和安装DirectX,配置VS编辑器
    第四章 002-条件语句
    第四章 001-复合语句
    第三章 004-运算符
  • 原文地址:https://www.cnblogs.com/president/p/ae42d72419553b96fb9a0efa811c5108.html
Copyright © 2011-2022 走看看