熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> SQL Server >> 正文

數據庫進階:SQL Server數據庫多種方式查找重復記錄

2013-11-15 14:48:32  來源: SQL Server 

  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


From:http://tw.wingwit.com/Article/program/SQLServer/201311/22365.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.