PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Trova i valori duplicati sulla colonna dell'array

Usa unnest per convertire l'array in righe, quindi array_agg per creare un array da id s

Dovrebbe assomigliare a questo:

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

Nota che HAVING Count(Distinct id) > 1 sta filtrando i valori che non compaiono nemmeno una volta