Re: Returning values from an array of JSONB objects.
От | Vitaly Burovoy |
---|---|
Тема | Re: Returning values from an array of JSONB objects. |
Дата | |
Msg-id | CAKOSWN=hLyPLSTk5o7PL0giWLATPrXqYckusaiK6N5UAEtwEWQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Returning values from an array of JSONB objects. (Vitaly Burovoy <vitaly.burovoy@gmail.com>) |
Ответы |
Re: Returning values from an array of JSONB objects.
|
Список | pgsql-general |
On 4/13/16, Vitaly Burovoy <vitaly.burovoy@gmail.com> wrote: > On 4/13/16, sighup <rts@sighup.eu> wrote: >> Hi, please excuse either my stupidity or naivety regarding this but I'm >> a bit confused. Give the following basic table structure : >> >> TABLE Data ( >> ID INT NOT NULL, >> Markers jsonb NOT NULL >> ); >> >> And the following data: >> >> INSERT INTO Data (ID, Markers) VALUES(1, '[ {"idle": true, "items": 8, >> "done": 0}, {"idle": true, "items": 8, "done": 0}]') ; Prerequisite: CREATE TYPE myrowtype AS (idle bool, items int, done int); Couple examples: >> How can I extract the value of the 'items' key either as two rows SELECT (jsonb_populate_recordset(NULL::myrowtype, Markers)).items FROM Data WHERE (ID = X); >> and or a sum of both. SELECT sum(items) FROM( SELECT (jsonb_populate_recordset(NULL::myrowtype, Markers)).items FROM Data WHERE (ID = X) )AS t; > You should use a proper function "jsonb_populate_recordset" [1]. > > [1] http://www.postgresql.org/docs/9.5/static/functions-json.html -- Best regards, Vitaly Burovoy
В списке pgsql-general по дате отправления: