SQL经验分享(一):找出某列中重复值

1.找出某列中重复值

SQL中去重,直接用select distinct即可,但是要找到到底重复的是哪几行,重复了多少次,这就需要一些技巧了。

1.1找出某列中重复值语法

select 字段名,count(字段名) from 表名 group by 字段名 having count(字段名)>1

1.1找出某列中重复值实例

 样例数据:




 
 

要求:找出学校的重复项目

语句:select school,count(school) as 次数 from Table_1 group by school having count(school)>1

执行结果:

 


 
 

经过网友提醒,用自连接也可以实现。

1.2用自连接实现

样例数据:




 
 

语言:

SELECT distinct a.[id]

      ,a.[name]

      ,a.[school]

      ,a.[address]

      ,a.[score]

      ,a.[data]

  FROM [mydata].[dbo].[Table_1]as a , [mydata].[dbo].[Table_1]as b

where a.id!=b.id

and a.school=b.school

order by a.school

执行结果:




 
 

解释:因为有三个id不同,但是school同,用

a.id!=b.id

and a.school=b.school

就会两两组合,出现6个情况。

猜你喜欢

转载自zxlyecf2.iteye.com/blog/2013720
今日推荐