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:重複條數)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章