• SQL重复记录查询-count与group by having结合查询重复记录


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

     例如:
     select * from testtable
     where numeber in (select number from people group by number having count(number) > 1 )
     可以查出testtable表中number相同的记录
     

    例如:

    产品参数表rule_product_info 同一个申请单是否有多条记录

    用select app_no,count(1) from rule_product_info group by app_no having count(1)>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

  • 相关阅读:
    20110825 talk 1
    [原]spring学习笔记9.1.2Spring对Aop的概念性介绍
    [转]Servlet总结
    有关锁
    [转]java中hashcode()和equals()的详解
    转置
    [转]JNDI到底是什么,有什么作用
    前端(js/css/html)那些小的知识点,持续更新......
    积累的一些常用javascript函数
    25大实用的jQuery技巧和解决方案
  • 原文地址:https://www.cnblogs.com/firstdream/p/7985584.html
Copyright © 2020-2023  润新知