PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Trouver les valeurs en double sur la colonne du tableau

Utiliser unnest pour convertir le tableau en lignes, puis array_agg pour construire un tableau à partir de l'id s

Cela devrait ressembler à ceci :

SELECT v AS value_repeated,array_agg(id) AS is_repeated_on FROM 
(select id,unnest(array) as v from my_table) 
GROUP by v HAVING Count(Distinct id) > 1

Notez que HAVING Count(Distinct id) > 1 filtre les valeurs qui n'apparaissent pas une seule fois