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

Recupera i primi N record di un array JSON con una query Postgresql

Penso che tu debba convertire il array JSON in un normale array Postgres , quindi prendine una fetta:

select (array_agg(e))[2:3]
from (select json_array_elements('[{"id":1},{"id":2},{"id":3},{"id":4}]'::json)) x(e);

Se desideri che il risultato sia JSON, puoi utilizzare array_to_json :

select array_to_json((array_agg(e))[2:3])
from (select json_array_elements('[{"id":1},{"id":2},{"id":3},{"id":4}]'::json)) x(e);