Select Name,Count(*) From A Group By Name Having Count(*) > 1
查询及删除重复记录的方法
(一)
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
INSERT INTO 要复制的表名 SELECT * FROM 被复制的表名
create table 要创建的表名 as
select * from 有数据的表
转自:http://www.iteye.com/topic/263271
分享到:
相关推荐
SQL语句查询所有的重复记录,删除所有的重复记录,查找指定的重复记录
使用Oracle查询并删除重复记录的SQL语句
查询及删除oracle重复记录的SQL语句
最基本的四种SQL语句删除重复记录的方法
本人收集的几个比较好的sql查询重复记录语句
是一个简单的sql语句,你可以仿照这个语句查出表里的重复数据。
SQL语句去掉重复记录,获取重复记录
本文介绍了用四种方法教你如何用SQL语句删除重复记录。
删除重复记录 删除数据表中的重复记录,包括MySQL、SQL Server、Oracle等
动态SQL语句.txt 动态语句.txt 区分大小写.txt 去掉重复的列名.txt 取n到m条记录.txt 合并字符串.txt 多列的行转列.sql 多行补充.sql 多表对多表进行统计.txt 大小写转换.txt 子查寻和内联查寻.txt 学生名次.txt ...
SQL 一些常用语句大全 sql查询重复记录方法大全
该文档是本人在实验过程中遇到的一个需求,之后解决了,特此写一个文档,实现一条SQL语句删除数据库某一个表中重复的记录。(重复的记录只保留一条,其他的被删除)
19、说明:删除重复记录 1),delete from tablename where id not in (select max(id) from tablename group by col1,col2,...) 2),select distinct * into temp from tablename delete from tablename insert into...
sql 查出一张表中重复的所有记录数据 1.表中有id和name 两个字段,查询出name重复的所有数据 select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1) 2、...
(参考)查询和删除同一表内一个或多个字段重复记录的SQL语句.pdf
教你如何在SQL数据库后台通过SQL语句删除重复SQL记录。
代码如下:select a,b,c,count(*) from (select c.a,c.b,c.c from test c) having count(*) >= 2 group by a,b,c 或者 代码如下:select zdbh,... 您可能感兴趣的文章:用SQL语句查询数据库中某一字段下相同值的记录方法
19、说明:删除重复记录 Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...) 20、说明:列出数据库里所有的表名 select name from sysobjects where type='U' 21、...
还有复杂点的像备份、创建索引、复合SQL语句、创建视图、高级运算查询、EXCEPT 运算符、INTERSECT 运算符、使用外连接、SQL分组、复制或拷贝表、在线视图查询、存储过程调用、清理SQL、找重复记录等,另附有一些SQL...