SQL Server数据库多种方式查找重复记录:
示例表stuinfo有三个字段recno(自增)stuidstuname
建该表的Sql语句如下
CREATE TABLE [StuInfo] (
[recno] [int] IDENTITY ( ) NOT NULL
[stuid] [varchar] () COLLATE Chinese_PRC_CI_AS NOT NULL
[stuname] [varchar] () COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
查某一列(或多列)的重复值(只可以查出重复记录的值不能查出整个记录的信息)
例如:查找stuidstuname重复的记录
select stuidstuname from stuinfo
group by stuidstuname
having(count(*))>
查某一列有重复值的记录(此方法查出的是所有重复的记录如果有两条记录重复的就查出两条)
例如:查找stuid重复的记录
select * from stuinfo
where stuid in (
select stuid from stuinfo
group by stuid
having(count(*))>
)
查某一列有重复值的记录(只显示多余的记录也就是说如果有三条记录重复的就显示两条)
前提需有一个不重复的列此示例为recno
例如:查找stuid重复的记录
select * from stuinfo s
where recno not in (
select max(recno) from stuinfo s
where sstuid=sstuid