当前位置: 代码迷 >> SQL >> SQL心得分享(一):找出某列中重复值
  详细解决方案

SQL心得分享(一):找出某列中重复值

热度:23   发布时间:2016-05-05 11:49:59.0
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个情况。

1 楼 id870321 昨天  
报告,图片看不到=。=
2 楼 zxlyecf2 昨天  
id870321 写道
报告,图片看不到=。=

你多刷新几遍,有时候加载慢
3 楼 jimode2013 昨天  
不要使用新浪的图片,看不到
4 楼 zxlyecf2 昨天  
jimode2013 写道
不要使用新浪的图片,看不到

已经换了,这样应该没问题了
5 楼 伤心眼泪 昨天  
over(partition by COLUMN order by )
不可以解决吗?
6 楼 778856 昨天  
zxlyecf2 写道
jimode2013 写道
不要使用新浪的图片,看不到

已经换了,这样应该没问题了

没问题了!
7 楼 石中玉 昨天  
这个貌似太基础了。。。
  相关解决方案