SQLServer数据库多种方式查找重复记录
在SQL Server数据库中查找重复记录有多种方法:
示例:stuinfo表有三个字段recno、stuid和stuname。
构建该表的Sql语句如下:
创建表格[StuInfo](
[recno] [int] IDENTITY (1,1)不为空,
[stuid][varchar](10)COLLATE Chinese _ PRC _ CI _ AS NOT NULL
[stuname][varchar](10)COLLATE Chinese _ PRC _ CI _ AS NOT NULL
)开[主]
去
1.检查一列(或多列)的重复值(只能找到重复值,找不到整条记录的信息)
例如,查找stuid和stuname的重复记录。
从stuinfo中选择stuid,stuname
分组依据stuid,stuname
具有(计数(*))>1
2.检查具有重复值的记录列表(该方法找出所有重复记录,如果有两个重复记录,则找出两个)
例如,查找具有重复stuid的记录。
select * from stuinfo
stuid在哪里(
从stuinfo中选择stuid
按stuid分组
具有(计数(*))>1
)
3.检查有重复值的记录列表(只显示冗余记录,也就是说,如果有三个重复记录,将显示两个记录)
前提:必须有不重复的列。这个例子是recno。
例如,查找具有重复stuid的记录。
从stuinfo s1中选择*
其中recno不在(
从stuinfo s2中选择max(recno)
其中s1.stuid=s2.stuid
位律师回复
0条评论