SQL Server’da Tekrarlanan Kayıtları Silmek
Herkese merhaba,
Bu yazıda size SQL Server’da tekrarlanan kayıtların tespit edilip nasıl silineceğinden bahsedeceğim. Bu işlem için aşağıdaki kod bloğunu inceleyelim.
--Tablomuzu oluşturuyoruz. CREATE TABLE TestVeriler ( ID INT , Ad VARCHAR(100) , Yas INT ); GO --Verilerimizi ekliyoruz. INSERT INTO TestVeriler VALUES (1,'Ali',34), (1,'Ali',34), (2,'Burak',37), (3,'Ceyda',21), (3,'Cihan',21), (3,'Esra',21); GO --Kayıtlarımızı listeliyoruz SELECT ID,Ad,Yas FROM TestVeriler; --Çift kayıtlarımızın silinmesi işlemi WITH CTE(ID,Ad,Yas,CiftKayitlar) AS ( SELECT ID,Ad,Yas, ROW_NUMBER() OVER (PARTITION BY ID,Ad,Yas ORDER BY ID) AS CiftKayitlar FROM TestVeriler ) DELETE FROM CTE WHERE CiftKayitlar > 1 GO --Listelenmesi SELECT ID,Ad,Yas FROM TestVeriler;
Burada bir tablo oluşturulmuş ve tabloya veriler eklenmiştir. Dikkat edileceği üzere aynı kayıttan iki tane mevcuttur. Sonrasında CTE oluşturularak birden fazla olan kayıtlar tespit edilmiş ve fazla olan kayıtlar sonrasında silinmiştir.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.