En İyi Sosyal Medya Siteleri






PostgreSQL’de Yinelenen Satırlar Nasıl Silinir?

1 115cqXTggxGeZq5m yFnrw

Son zamanlarda, PostgreSQL’de yinelenen kayıtları silmek için bir komut dosyası için bir istek aldım. Çoğu Veritabanı Geliştiricisinin, Veritabanından yinelenen kayıtları silme gibi bir gereksinimi vardır.

SQL Server gibi, ROW_NUMBER () PARTITION BY da PostgreSQL’de mevcuttur.

Bu betiği ROW_NUMBER () PARTITION BY yan tümcesi ile basit iç sorgu kullanarak hazırladım.

Örnek bir tablo oluşturun:

CREATE TABLE tbl_RemoveDuplicate
(	
	ID INTEGER PRIMARY KEY
	,Name VARCHAR(150)
);

Birkaç yinelenen kayıt ekleyin:

INSERT INTO tbl_RemoveDuplicate VALUES
(1,'ABC'),(2,'XYZ')
,(3,'XYZ'),(4,'RFQ')
,(5,'PQR'),(6,'EFG')
,(7,'EFG'),(8,'ABC');

Biri dışında, tüm yinelenen kayıtları silin:

DELETE FROM tbl_RemoveDuplicate
WHERE ID IN 
(SELECT ID
FROM (SELECT id,
	     ROW_NUMBER() OVER (partition BY Name ORDER BY ID) AS RowNumber
     FROM tbl_RemoveDuplicate) AS T
WHERE T.RowNumber > 1);

Sonucu kontrol edin:

SELECT *FROM tbl_RemoveDuplicate;
 id | name
----+------
  1 | ABC
  2 | XYZ
  4 | RFQ
  5 | PQR
  6 | EFG
(5 rows)
E-bültene Abone Ol Merak etmeyin. Spam yapmayacağız.

İlgili Yazılar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Login for fast comment.

casino siteleri Canlı Casino Siteleri
deneme bonusu veren siteler 2025 Güvenilir Deneme Bonusu Veren Siteler deneme bonusu veren siteler güncel
bahis siteleri grandpashabet grandpashabet giriş cratosroyalbet betwoon maxwin ramadabet dedebet damabet meritking kingroyal.org kingroyal merittbet.com madridbet güncel giriş

Login