我们说我们有以下
{ "items" :
[
{"id": 1},
{"id": 2},
{"id": 3}
]
}
如何从给定json结构中的数组中获取最后一个元素?获得第一个似乎并不复杂
SELECT t.column->'items'->0 AS elem
FROM tbl t
WHERE other_column = 20;
提前致谢!
答案 0 :(得分:15)
这样的事情应该得到你的例子的最后一个元素:
SELECT t.col->'items'->(json_array_length(t.col->'items')-1)
FROM tbl t
SQLFiddle显示了这一点......
答案 1 :(得分:2)
在Postgres 9.5+中,现在可以使用负下标来实现这一目标。
对于上述情况,获取最后一个元素可以通过以下方式实现:
SELECT t.column->'items'->-1 AS elem
FROM tbl t
WHERE other_column = 20;