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:重复条数)

 

posted @ 2022-10-20 09:53  小小邪  阅读(1627)  评论(0编辑  收藏  举报