PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como filtrar o array json por cada linha retornada?


Você pode usar json_array_elements para desaninhar JSON e array_agg para aninhá-lo de volta após a filtragem. Algo assim:
SELECT t.id, array_to_json(array_agg(j))
FROM your_table t, json_array_elements(t.jsonColumn) j
WHERE j->>'field' = 'abc'
GROUP BY id;