PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Zählen Sie die Anzahl der überlappenden Elemente im Postgres-Array

Wenn Sie installieren das intarray Erweiterung können Sie den "intersection"-Operator dieser Erweiterung verwenden:

select column1, column1 & ARRAY[3,4,8] as elements
from table1

gibt zurück:

column1 | elements
--------+---------
{1,3,8} | {3,8}   
{3,4,5} | {3,4}   
{1,2}   | {}      

Um die Anzahl der Elemente im resultierenden Array zu erhalten, verwenden Sie cardinality(column1 & ARRAY[3,4,8])