sql >> Databasteknik >  >> RDS >> PostgreSQL

Hämta första N-posterna i en JSON-array med en Postgresql-fråga

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); 


  1. Kan jag återanvända ett uttryck i en MySQL-fråga som en variabel för ett annat fält?

  2. Förhindra att datum och tid infogas i databasen

  3. PostgreSQL inkrementella datum?

  4. Välj i en många-till-många-relation i MySQL