SQL : élimination des doublons d’une table

SQL : élimination des doublons d'une tableLa requête SQL ci-dessous a pour objet l’élimination des doublons constatés dans le champ content_hash de la table ttrss_entries, en privilégiant la conservation des premières lignes ajoutées.

Ici, le moteur de base de données utilisé est MariaDB. Il dispose depuis la version 10.3 de l’opérateur EXCEPT, comme dans SQL Server et PostgreSQL. Pour Oracle, il s’agit de MINUS.

Si vous avez mieux et moins compliqué, je suis preneur !

1er jet : une requête peu optimisée

DELETE FROM ttrss_entries
WHERE id IN
(
	-- Sélection de tous les id des enregistrements en double sur le champ content_hash
	SELECT id FROM ttrss_entries
	WHERE content_hash IN
	(
		SELECT content_hash FROM ttrss_entries
		GROUP BY content_hash
		HAVING COUNT(content_hash)>1
	)
	-- Sélection de laquelle on retire les lignes étant ajoutées en 1er
	EXCEPT
	SELECT MIN(id) FROM ttrss_entries
	GROUP BY content_hash
	HAVING COUNT(content_hash)>1
);

2e jet : une requête optimisée

START TRANSACTION;
DELETE FROM ttrss_entries
WHERE id IN
(
	WITH 
		req_titles AS
		(
			SELECT
				id,
				MD5(title) md5title
			FROM
				ttrss_entries
		),
		req_doublons AS
		(
			SELECT md5title,MIN(ID) minid FROM req_titles
			GROUP BY md5title
			HAVING COUNT(md5title)>1	
		)
	SELECT id FROM req_titles
	WHERE md5title IN
	(
		SELECT md5title FROM req_doublons
	)
	EXCEPT
	SELECT minid FROM req_doublons
);
COMMIT;

SQL /

deneme bonusu veren siteler casino siteleri betdenemebonusu.com bahis siteleri Ev eşyası depolama Depolama Şehirlerarası evden eve nakliyat Evden eve nakliyat Eşya depolama yurtdışına ev taşıma Türkiye'den Almanya'ya ev taşıma zati eşya tasimaciligi uluslararasi zati eşya tasimaciligi eşya depolama şehirler arası nakliyat asansörlü nakliyat greatplay.net güvenilir online bahis siteler 2022 jetbahis Rexbet hovarda mobilbahis güncel adres sartsız Deneme Bonus sekabet maltcasino güncel adres> pinbahis100.com betduman.com olabahis.top سایت شرط بندی shartkade.com 1xbet-mobil.com beykoz evden eve nakliyat ataşehir evden eve nakliyat şişli evden eve nakliyat istanbul evden eve nakliyat
teens porn videos free sex xxx sexy videos