MySQL查询表内重复记录
查询及删除重复记录的方法
(一)
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
出处: 马丁博客[http://www.blags.org/]
转载于:https://www.cnblogs.com/camelroyu/p/5639405.html
MySQL查询表内重复记录相关推荐
- [转]MySQL查询表内重复记录
为什么80%的码农都做不了架构师?>>> 查询及删除重复记录的方法 (一) 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * fr ...
- mysql查询表中重复记录
mysql查询表中某个字段值重复的记录, 也就是说,该字段值出现的个数是>=2,所以可以对该字段进行分组,然后对字段count计数,再筛选出>=2的count的值即可,具体实现如下: se ...
- mysql查询表里面重复的数据_mysql查询表里的重复数据方法
这篇文章主要介绍了mysql查询表里的重复数据方法,需要的朋友可以参考下 INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),( ...
- Database之SQLSever:SQL命令实现查询之多表查询、嵌套查询、分页复杂查询,删除表内重复记录数据、连接(join、left join和right join简介及其区别)等案例之详细攻略
Database之SQLSever:SQL命令实现查询之多表查询.嵌套查询.分页复杂查询,删除表内重复记录数据.连接(join.left join和right join简介及其区别)等案例之详细攻略 ...
- 通过Mybatis获取mysql表中重复记录的方法
输入条件:函数F返回的某表A的id列表 (id列表中的数据可能带有重复) 目标:依据该i列表 id 的顺序获取相应的记录列表. 方法:在mysql本身的语句中未发现有好的方法,即使用 in 语句也只能 ...
- 解决Mysql中删除重复记录的问题
题记 本文主要介绍Mysql数据库表中,如何删除相同索引值.更新日期较早的记录行. 1.相同记录的由来 以Mysql为例,根据表的设计原则,表中不可能存在两条完全相同的记录. 第一范式(1NF):字段 ...
- mysql存储过程删除重复记录
为什么80%的码农都做不了架构师?>>> 之前在写删除数据库重复记录的时候没有用存储过程代码如下: 表(book)字段 (id , b_name, b_descr ...
- MySQL之——查询重复记录、删除重复记录方法大全
查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > ...
- mysql查询删除重复记录查询_mysql怎么查询和删除重复记录
查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > ...
最新文章
- jQuery 加法计算 使用+号即强转类型
- Tomcat配置虚拟路径访问容器外的硬盘资源
- Windows Phone 开发环境的搭建
- html标签名缩写与英文全称对照表
- 苹果电脑怎么删除软件_误格式化,删除文件怎么恢复?3款最好用的数据恢复软件推荐...
- 【工具】Xshell安装注册以及简单属性配置
- Java并发——线程中断学习
- max232管脚讲解 单片机与PC通讯
- Linux内核精选文章向读者汇报 | 相遇Linux
- html无序列表文字换行,ppwjs之bootstrap文字排版:无序列表项不换行
- tensorflow学习笔记(3):使用tf.data API导入数据
- SharedPreferences小探
- 利用python爬取飞猪信息_Python实战:飞猪IP池爬虫(8)
- 皮尔森相关系数与方差膨胀因子介绍及关系 附python代码
- Android基于Ymodem协议升级嵌入式MCU主控
- Eclipse中的Unicode编码如何转为中文?
- Foxmail是否可以隐藏文件夹?【网易企业邮箱申请】
- H5 下载PDF文件
- 那些很棒的 blog and site 优秀的博客和网站推荐
- 【电气安全】关于医疗专用隔离电源系统在医院配电系统中的应用
热门文章
- 关于格雷码的规律、转换
- mysql od函数_Mysql数学函数不求人
- hbuilder打包的app如何设置自动清理缓存_手机空间不足,这些“隐形”文件如何找到删除?...
- boostrap 鼠标滚轮滑动图片_BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)...
- 线程池中submit()方法与execute()方法的区别
- 接口文件也是.java结尾吗
- 009_InputNumber计数器
- 006_Gson定制型适配器
- 035_jQuery Ajax的ajaxSetup方法
- python的celery的面试_python 面试