在几千条记录里,存在着些相同的记录,如何能用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

转载于:https://www.cnblogs.com/liufei88866/archive/2011/07/19/2110813.html

sql 删除重复记录相关推荐

  1. sql 删除重复记录保留一条_从零学会SQL·二——简单查询

    一.使用select查询语句完成以下练习 student表 查询姓名和性别 查询所有字段 给查询的字段名替换别名,姓名替换为s_name,性别替换为"人类性别" 查询姓名时删除重复 ...

  2. 用SQL删除重复记录的N种方法

    例如:    id           name         value    1               a                 pp    2               a  ...

  3. SQL删除重复记录保留最大值

    简介 backends_alertdata 这个表格里面有很多的重复数据,其中每一条重复数据的fingerprint 字段都是一样的,aid 这个是自增字段,是主键.现在需要将这些重复数据删除,但是只 ...

  4. 【mysql 】sql删除重复记录 You can't specify target table '表名' for update in FROM clause

    用下面的语句就报语法出错: delete from tab_record where recordid not in (select  min(c.recordid) as recordid from ...

  5. SQL操作语句之查询及删除重复记录的方法

    delete from 表 where id not in(select min(id) from 表 group by name ) //删除重复名字的记录 删除之前请用语句 select * fr ...

  6. SQL Server 删除重复记录,只保留一条记录

    原文地址:http://blog.csdn.net/eriato/article/details/17417303 有张表格之前没有设计关键字段的唯一约束,导致有时候执行插入操作时不小心执行了多次就出 ...

  7. SQL语句删除重复记录

    转:http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 转:http://www.cnblogs.com/liaoyun ...

  8. oracle sql删除重复,【转帖】SQL Oracle删除重复记录

    1.Oracle删除重复记录. 删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录. delete from people where peopleI ...

  9. php sql 去除重复数据,MSSQL_快速删除重复记录,SQL Server如何实现?,如果一张表的数据达到上百万 - phpStudy...

    如果一张表的数据达到上百万条,用游标的方法来删除简直是个噩梦,因为它会执行相当长的一段时间-- 开发人员的噩梦--删除重复记录 想必每一位开发人员都有过类似的经历,在对数据库进行查询或统计的时候不时地 ...

最新文章

  1. 使用Hadoop和ELK进行业务代码分析!分分钟捉到Bug!
  2. idea maven打jar包_Dev 日志 | 如何将 jar 包发布到 Maven 中央仓库
  3. 排序算法总结之归并排序
  4. php在函数内使用全局变量
  5. JS中 window.location.search的作用
  6. msp430项目编程53
  7. java编译器分析_Java反编译器的剖析
  8. linux 安装qt 4.6软件,QT学习之一:Linux下安装QT之版本qt-4.6.3
  9. mybatis BindingException: Invalid bound statement (not found)
  10. 找了个学习uboot makefile的好地方 不过不让转载 那就把网址分享一下吧
  11. java Function Interface BinaryOperator<T>
  12. ROS与STM32F407实现消息通信(含源码)
  13. 33个网站足以使你成为一个天才
  14. ActiveSync同步使用方法
  15. 干货 | 红队小技巧
  16. excel提取身份证出生日期_Excel如何从身份证号码中提取年龄
  17. 程序员为什么不单干、接私活、自己开公司
  18. 计算机屏幕出现条纹w7,电脑屏幕出现条纹,教您电脑屏幕出现条纹闪烁怎么解决...
  19. MOSFET驱动电路应用实例
  20. top,margin-top,padding-top的区别

热门文章

  1. D3 svg text标签控制
  2. Oracle的distinct关键字
  3. layui 读取本地excel内容_Python操作Excel基础(1)
  4. 项目管理的几个概念(WBS、OBS、RBS、BOM、CWS、CA)总结与区分
  5. 使用腾讯云函数签到天翼云盘
  6. Linux学习总结(48)——Linux防火墙iptables与firewalld学习总结
  7. Myeclipse学习总结(7)——Eclipse插件之Maven配置及问题解析
  8. 一阶倒立摆的输入和输出是什么_了解一阶高通滤波器传递函数
  9. Vue-render函数的三个参数
  10. 如何配置openjdk的 java home