| 導購 | 订阅 | 在线投稿
分享
 
 
 

SQL Server數據庫多種方式查找重複記錄

來源:互聯網  2008-06-01 03:18:48  評論

SQL Server數據庫多種方式查找重複記錄:

示例:表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

SQL Server數據庫多種方式查找重複記錄: 示例:表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
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有