sql 查询,删除重复的记录
2016-02-04 10:35
447 查看
一、查找重复记录
1.查找全部重复记录Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(重复字段)>1)
2.过滤重复记录(只显示一条)
有ID的情况下,将表中重复的记录只显示一条,不重复的记录也显示出来
Select * From 表 Where ID In (Select Max(ID) From 表 Group By 重复字段)
注:此处显示ID最大一条记录
3.查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
二、删除重复记录
1.删除全部重复记录(慎用)Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(重复字段)>1)
2.保留一条(这个应该是大多数人所需要的 ^_^)
Delete 表 Where ID Not In (Select Max(ID) From HZT Group By 重复字段)
注:此处保留ID最大一条记录
3.删除表中多余的重复记录(多个字段),只留有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)
转载自 [leiOOlei] 的博客
(/article/5044846.html)
相关文章推荐
- MySQL redo log及recover过程浅析
- mysql二进制版本安装以及主从服务的搭建
- SQL查询操作处理流程
- redis预编译安装、启动
- java数据库编程——元数据(metadata)+web 与企业应用中的连接管理
- mysql存储过程详解
- MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)
- Palo:百度面向分析的大规模数据库系统-马如悦(阅读记录)
- sql server 查询表结构
- 安装Mysql最新版本mysql-5.7.10-winx64出现的几个问题解决
- oracle 11gR2 安装提示INS-20802 Oracle Net Congfiguration Assistant失败
- MySQL Connector C
- MySql远程连接
- SQL Server 2008怎么自动备份数据库
- sqlserver 企业版下载地址
- SQL Server 诊断查询-(5)
- sql server 服务作用简介
- SQL Server 诊断查询-(4)
- Mysql coalesce()函数认识和用法
- MySQL中事务的概述ACID了解