sql server/如何根据条件查找重复的数据行集合
我们在使用Sql server数据库时,难免出现一些通过后台导入的数据,导致数据表出现相同条件多条记录,我们如何查找重复数据呢?
首先,我们来模拟出重复的数据,进行如下数据准备(由于是模拟的,数据不进行录入太多)
--创建表结构 create table Teacher ( Id int identity(1,1) primary key, Code nvarchar(20), Name nvarchar(20), Age int ) --模拟重复数据 insert into Teacher(Code,Name,Age) values('T001','张老师',23); insert into Teacher(Code,Name,Age) values('T001','张老师',23); insert into Teacher(Code,Name,Age) values('T001','张老师',23); insert into Teacher(Code,Name,Age) values('T002','李老师',25); insert into Teacher(Code,Name,Age) values('T002','李老师',25); insert into Teacher(Code,Name,Age) values('T003','王老师',28); --查询表数据 select * from Teacher;
我们可以看到表的数据,其中T001有3条数据,T002有2条
那么我们查询重复数据SQL可以按如下写(编码、名称、年龄进行分组)
--查询重复数据行的SQL(使用Having) select COUNT(*) as RepNum,Code,Name,Age from Teacher group by Code,Name,Age Having COUNT(*)>1;
可以看到最后结果,已经帮我们筛选出重复数据行了(其中RepNum:重复条数)
平时多记记,到用时才能看看,记录你的进步,分享你的成果