`

SQL 查找重复记录

 
阅读更多

SQL 查找重复记录  

 表stuinfo,有三个字段recno(自增),stuid,stuname

建该表的Sql语句如下:

CREATE TABLE [StuInfo] (
[recno] [int] IDENTITY (1, 1) NOT NULL ,
[stuid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[stuname] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

1.--查某一列(或多列)的重复值(只能查出重复记录的值,不能整个记录的信息)
--如:查找stuid,stuname重复的记录
select stuid,stuname from stuinfo
group by stuid,stuname
having(count(*))>1

2.--查某一列有重复值的记录(这种方法查出的是所有重复的记录,也就是说如果有两条记录重复的,就查出两条)
--如:查找stuid重复的记录
select * from stuinfo
where stuid in (
select stuid from stuinfo
group by stuid
having(count(*))>1
)

3.--查某一列有重复值的记录(只显示多余的记录,也就是说如果有三条记录重复的,就显示两条)
--这种方成绩的前提是:需有一个不重复的列,本例中的是recno
--如:查找stuid重复的记录
select * from stuinfo s1
where recno not in (
select max(recno) from stuinfo s2
where s1.stuid=s2.stuid
)
4.--select yhhao(列名)from student(表名) group by yhhao(列名) having count(*)>1;
  --从这里面取所有字段的值
  select * from 表名  where yhhao(列名) in(select 列名from 表名 group by 列名 having count(*)>1);
  --删除
  delete from 表名 where yhhao(列名) in(select 列名from 表名 group by 列名 having count(*)>1);
  --删除其中的某一行
  create index ix on 表名(字段名);
  delete from 表名 a where  exists(select 1 from 表名 where 列名=a.列名 and rowid>a.rowid);

分享到:
评论

相关推荐

    sql查询重复记录方法大全

    SQL 一些常用语句大全 sql查询重复记录方法大全

    SQL语句查询重复记录大全

    SQL语句查询所有的重复记录,删除所有的重复记录,查找指定的重复记录

    处理SQL重复记录查询.

    查询SQL重复记录的几种方法总结,删除SQL重复记录查

    SQL重复记录查询与删除

    SQL重复记录查询与删除 过滤重复字记录,单字段重复,重复的只显示1条记录,并且显示出所有字段 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 只能显示哪些记录是重复的。 2、删除表中...

    sql_查询重复记录方法大全.txt

    sql_查询重复记录方法大全 查找所有重复标题的记录: SELECT * FROM t_info a WHERE ((SELECT COUNT(*) FROM t_info WHERE Title = a.Title) > 1) ORDER BY Title DESC

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    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重复记录查询的几种方法

    SQL重复记录查询的几种方法,需要的朋友可以参考一下

    重复记录查询处理

    在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢; 1、查找表中多余的重复记录; 2、查找表中多余的重复记录; 3、删除表中多余的重复记录(多个字段)

    sqlserver 删除重复记录处理(转)

    查找重复记录 1. 查找全部重复记录 Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1) 2. 过滤重复记录(只显示一条) Select * From HZT Where ID In (Select Max...

    sql 删除表中的重复记录

    如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长) select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as c from T_Dor_StructStar where Date >= '20160919' group ...

    查询重复数据sql语句

    是一个简单的sql语句,你可以仿照这个语句查出表里的重复数据。

    SQL重复记录查询和删除方法

    查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断  select * from people  where peopleId  in (select peopleId from people  group by peopleId  having count(peopleId) > 1)  2....

    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语句查询数据库中某一字段下相同值的记录方法

    MySQL中查询、删除重复记录的方法大全

    前言 本文主要给大家介绍了关于MySQL中查询、删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: ...一、查找重复记录 1、查找全部重复记录 SELECT * FROM t_inf

    用SQL语句,删除掉重复的记录

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

    SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法

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

    删除数据库中的重复记录

    查找并铲除数据库中的重复记录,,适用sql.acc等数据库

    mysql 数据表中查找重复记录

    多表update sql语句总结mysql锁表和解锁语句分享MySQL中基本的多表连接查询教程MySQL表字段设置默认值(图文教程及注意细节)MySQL中使用表别名与字段别名的基本教程mysql查询表里的重复数据方法mysql 导入导出数据库...

Global site tag (gtag.js) - Google Analytics