为什么80%的码农都做不了架构师?>>>   

查询及删除重复记录的方法
(一)
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有一个记录
delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and min(id) not in (select id 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

(三)
方法一

declare @max integer,@id integer

declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) >; 1

open cur_rows

fetch cur_rows into @id,@max

while @@fetch_status=0

begin

select @max = @max -1

set rowcount @max

delete from 表名 where 主字段 = @id

fetch cur_rows into @id,@max

end

close cur_rows

set rowcount 0

转载于:https://my.oschina.net/comguo/blog/139376

[转]MySQL查询表内重复记录相关推荐

  1. MySQL查询表内重复记录

    查询及删除重复记录的方法 (一) 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (sele ...

  2. mysql查询表中重复记录

    mysql查询表中某个字段值重复的记录, 也就是说,该字段值出现的个数是>=2,所以可以对该字段进行分组,然后对字段count计数,再筛选出>=2的count的值即可,具体实现如下: se ...

  3. mysql查询表里面重复的数据_mysql查询表里的重复数据方法

    这篇文章主要介绍了mysql查询表里的重复数据方法,需要的朋友可以参考下 INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),( ...

  4. Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略

    Database之SQLSever:SQL命令实现查询之多表查询.嵌套查询.分页复杂查询,删除表内重复记录数据.连接(join.left join和right join简介及其区别)等案例之详细攻略 ...

  5. 通过Mybatis获取mysql表中重复记录的方法

    输入条件:函数F返回的某表A的id列表 (id列表中的数据可能带有重复) 目标:依据该i列表 id 的顺序获取相应的记录列表. 方法:在mysql本身的语句中未发现有好的方法,即使用 in 语句也只能 ...

  6. 解决Mysql中删除重复记录的问题

    题记 本文主要介绍Mysql数据库表中,如何删除相同索引值.更新日期较早的记录行. 1.相同记录的由来 以Mysql为例,根据表的设计原则,表中不可能存在两条完全相同的记录. 第一范式(1NF):字段 ...

  7. mysql存储过程删除重复记录

    为什么80%的码农都做不了架构师?>>>    之前在写删除数据库重复记录的时候没有用存储过程代码如下: 表(book)字段 (id   ,    b_name,   b_descr ...

  8. MySQL之——查询重复记录、删除重复记录方法大全

    查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) >  ...

  9. mysql查询删除重复记录查询_mysql怎么查询和删除重复记录

    查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > ...

最新文章

  1. spring事务模板使用
  2. python 内置函数 eval()函数 (用来执行一个字符串表达式,并返回表达式的值)
  3. python tkinter计算器实例_python小实例——tkinter实战(计算器)
  4. 开源php面板,宝塔面板nginx安装终于搞定了
  5. Android 获取包名,版本信息及VersionName名称
  6. oracle 11g r2 rac中节点时间不同步,Oracle11gR2安装RAC错误之--时钟不同步
  7. vs2019新建android生成app,VS2017 VS2019创建离线安装包
  8. 线性时间选择算法(Java)
  9. 懒羊羊的作业:看过国产动画片的同学都知道,懒羊羊是一只非常懒的羊,整天除了吃就是睡,根本没有时间做作业。明天就是周一了,村长慢羊羊留的作业:把 n 个整数从大到小排序,它还没开始写...
  10. 显卡性能比较 GPU common sense
  11. python sql语句换行_python一行sql太长折成多行并且有多个参数的方法
  12. 计算机教师专业环境,信息技术环境对教师专业发展的新要求
  13. 太阳能心率智能骑行仪(STM32)
  14. HTML 信息隐藏与提取
  15. unity技美27——优化项目内美术3D,2D等资源,详解unity打包体的潜规则与案例
  16. Linux·内核源码简单分析
  17. OWA动态密码短信认证方案,解决outlook邮件双因子认证问题
  18. 前任写的代码,真是辣鸡…
  19. Abracadabra
  20. OKL4 Microvisor

热门文章

  1. FPGA之道(27)VHDL的操作符号
  2. 小码哥iOS学习笔记第二天: OC对象的分类
  3. 分布式 - Jetty架构
  4. 升级WordPress时提示”另一更新正在进行”
  5. koa源码阅读之koa-compose/application.js
  6. zeroc-ice的全双工通信策略
  7. 【总结+计划】2015一月份总结+2015二月份计划——全栈实践
  8. 在 PHP 中实现带 WSDL 的 SOAP
  9. 安装zookeeper集群
  10. 编程链接[2009-8-26更新]