zoukankan      html  css  js  c++  java
  • 删除重复记录

    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢?谢谢! 
    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
  • 相关阅读:
    接口测试的维度
    python每个文件都需要顶部注释,那今天介绍一个方法,只需要设置一次,下次新建python文件后,注释自动出现在顶部的方法
    反射的4个方法
    python3 导入包总提示no moudle named xxx
    http.client.ResponseNotReady: Request-sent
    jmeter Linux环境执行总报错 cannot allocate memory
    xpath提取包含标签的所有文本内容
    使用python批量插入wordpress-从理清表结构开始
    Cloudways托管迁移中遇到的问题
    wordpress后台数据库表分析
  • 原文地址:https://www.cnblogs.com/forthelichking/p/4164669.html
Copyright © 2011-2022 走看看