MSSQL Mükerrer (Tekrarlayan) Kayıtları Silme

Merhaba arkadaşlar,

Bu yazıda mssql içerisindeki sinir bozucu tekrarlayan kayıtları silmeyi göstereceğim.

Aslında konumuz oldukça basit ancak bulunamadığı zaman da bir o kadar sinir bozucu elbette. 🙂 Sorgumuz aşağıdaki gibi;

DELETE FROM SilinecekTabloAdi WHERE NOT PrimaryKey IN (
SELECT MIN(PrimaryKey) FROM SilinecekTabloAdi
GROUP BY MukerrerHücre/ler)

İşte bu kadar aslında. Gelin bir de kısaca ne demek istiyoruz bahsedelim;

SilinecekTabloAdi kısmı mükerrer kayıtların bulunduğu tablomuzun adı.
PrimaryKey dediğimiz alan ise genel olarak çoğu database mimarının ID/id olarak nitelendirdiği tekrarlanmayan kayıt kimlik numarası alanı.
MukerrerHücre/ler kısmı ise bu alana göre kayıtlarımızı gruplandıracağımız (örn. AdSoyad) kısmıdır.

Yani kısacası aşağıdaki gibi bir tablomuz olduğunu düşünürsek;

Tablomuzun Adı: UYELER olsun

ID | AdiSoyadi | TelefonNumarasi

1     Erkan DOMURCUK   0(242)1234567
2     Erkan DOMURCUK   0(242)1234567
3     Erkan DOMURCUK   0(242)1234567
4     Recep Aslan                 0(242)1234567

 

işte böyle bir tabloyu aşağıdaki sorguya maruz bıraktığımızda;

DELETE FROM UYELER WHERE NOT ID IN (
SELECT MIN(ID) FROM UYELER
GROUP BY AdiSoyadi)

şeklinde bir sorgumuz olmuş olur ve çıktısı ise;

ID | AdiSoyadi | TelefonNumarasi

1     Erkan DOMURCUK   0(242)1234567
4     Recep Aslan                 0(242)1234567

Şeklinde olacaktır. Yani mükerrer kayıtların ilk kayıtları hariç tümünü silecek bir sorguya sahip olmuş olduk.

DipNot: Eğer profesyonel bir yazılımcı değil isek (tabi kendimizi böyle görmek ne kadar doğru bilinmez) mutlaka bu işlem öncesinde yapma ihtimaliniz olan hatalara karşın öncesinde ufak bir yedek almakta fayda var 😉 🙂

Kolaylıklar dilerim 🙂

Share this Story

Related Posts

2
Kimler Neler Demiş?

avatar
2 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
namik serefogluRecep Karman Recent comment authors
  Subscribe  
En Yeniler Eskiler Beğenilenler
Bildir
Recep Karman
Ziyaretçi
Recep Karman

Teşekkürler hocam yeni gördüm sitenizi hayırlı olsun. Hemen buldum ne hikmetse ve de çok işime yaradı.

Ellerinize sağlık

namik serefoglu
Ziyaretçi
namik serefoglu

Ustad guzel bir konu olmus. Sagolasin.

Search