SQL Server Tekrarlanan Satırları Silmek


Sql Server Tekrarlanan satırları silme SQL Server‘da tekrarlanan satırları hızlı bir şekilde silmek için aşağıdaki yöntemi kullanabilirsiniz. Örnek olarak aşağıdaki kod da aynı kişinin puanının birden fazla kez veritabanına kaydedildiğini düşünelim. Yani aynı satırdan birden fazla olduğunu varsayalım, bu aynı satırlardan en eski olanı sistemimizde tutmak istiyorum. Hangisinin eski olduğuna karar vermek için unique olarak tuttuğum id’sinden faydalanacağım. Kısaca id’si küçük olan benim için eklenen en eski kayıttır.

Burada ilk olarak Min() fonksiyonunu kullanarak o kayıttan minimum id’li olan farklı değerlerin id’sini ismine göre group by yaparak çekiyorum. Sonrasında bu idlerin dışında kalan satırları not in ile seçerek siliyorum.

DELETE FROM puanlar WHERE id NOT IN
(SELECT Min(id) FROM puanlar GROUP BY isim)

Eğer en eski yerine en yeni satırı saklamak istersek Min() yerine Max() fonksiyonunu kullanabiliriz.

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s