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个情况。