sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo filtrar la matriz json por cada fila devuelta?

Puedes usar json_array_elements para anular JSON y array_agg para anidarlo de nuevo después del filtrado. Algo como esto:

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;