Jag tror att du måste konvertera JSON-array till en vanlig Postgres-array , ta sedan en bit av det:
select (array_agg(e))[2:3]
from (select json_array_elements('[{"id":1},{"id":2},{"id":3},{"id":4}]'::json)) x(e);
Om du vill att resultatet ska vara JSON kan du använda 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);