数据库

SQL Server 数据库查找重复记录的几种方法

字号+ 作者:hanyufeng 来源: 2016-07-21 13:59:15 我要评论( ) 阅读:

三种方法...

示例,创建数据表stuinfo,有三个字段recno(自增),stuid,stuname:

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

一、查某一列(或多列)的重复值。(只可以查出重复记录的值,不能查出整个记录的信息)

例如:查找stuid,stuname重复的记录:

select stuid,stuname from stuinfo
group by stuid,stuname
having(count(*))>1

二、查某一列有重复值的记录。(此方法查出的是所有重复的记录,如果有两条记录重复的,就查出两条)

例如:查找stuid重复的记录:

select * from stuinfo
where stuid in (
select stuid from stuinfo
group by stuid
having(count(*))>1
)

三、查某一列有重复值的记录。(只显示多余的记录,也就是说如果有三条记录重复的,就显示两条)

前提:需有一个不重复的列,此示例为recno。例如:查找stuid重复的记录:

select * from stuinfo s1
where recno not in (
select max(recno) from stuinfo s2
where s1.stuid=s2.stuid

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 修改、批量修改表和存储过程的所有者

    修改、批量修改表和存储...

  • Windows XP下安装SQL2000企业版

    Windows XP下安装SQL2000企业版

  • MSSQL 2000如何修改数据表所有者

    MSSQL 2000如何修改数据表所有者

  • MSSQL 2000 无法安装的解决方法

    MSSQL 2000 无法安装的解决方法

  • MSSQL 2000 还原数据库后登录名为空的问题

    MSSQL 2000 还原数据库...