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.
