Ответ 1
Что-то вроде этого должно получить последний элемент вашего примера:
SELECT t.col->'items'->(json_array_length(t.col->'items')-1)
FROM tbl t
SQLFiddle, показывая это в действии...
Скажем, что мы имеем следующее
{ "items" :
[
{"id": 1},
{"id": 2},
{"id": 3}
]
}
Как я могу получить последний элемент из массива в данной структуре json? Получение первого кажется не таким сложным
SELECT t.column->'items'->0 AS elem
FROM tbl t
WHERE other_column = 20;
Спасибо заранее!
Что-то вроде этого должно получить последний элемент вашего примера:
SELECT t.col->'items'->(json_array_length(t.col->'items')-1)
FROM tbl t
SQLFiddle, показывая это в действии...
В Postgres 9. 5+ теперь можно использовать отрицательные подписки для достижения этой цели.
В приведенном выше случае получение последнего элемента может быть достигнуто с помощью:
SELECT t.column->'items'->-1 AS elem
FROM tbl t
WHERE other_column = 20;