Préserver une copie des lignes en double dans Postgres
Lorsque vous traitez des données en double, il est souvent nécessaire de supprimer les redondances tout en conservant au moins une instance de chaque ensemble dupliqué. Dans Postgres, cela peut être réalisé grâce à l'approche suivante :
Pour supprimer les lignes en double tout en conservant une seule copie, nous pouvons utiliser la requête suivante :
DELETE FROM foo WHERE id NOT IN ( SELECT MIN(id) -- or MAX(id) for the latest copy FROM foo GROUP BY hash );
Dans cette requête :
En utilisant MIN(id) ou MAX( id) à l'intérieur de la sous-requête, nous veillons à ce que seule la copie la plus ancienne ou la plus récente de chaque ensemble dupliqué soit conservée.
Cette approche garantit qu'au moins une copie de chaque ligne dupliquée est conservé dans le tableau tout en supprimant les doublons inutiles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!