我在postgresql中有一个表,如:
Column | Type | Modifiers
--------+----------+-----------
id | bigint | not null
nodes | bigint[] | not null
tags | text[] |
以及一些示例数据:
id | nodes
----------+------------
25373389 | {1}
25373582 | {1,2,3,2,6}
25373585 | {1,276,3,2}
我想获取nodes
的最后一个元素和长度,所以我希望结果是:
id | nodes | last | length
----------+------------+------------+------------
25373389 | {1} | 1 | 1
25373582 | {1,2,3,2,6}| 6 | 5
25373585 | {1,276,3,2}| 2 | 4
我使用跟随代码来获取第一个元素,但是不能使用nodes[-1]
来获取最后一个元素。
select id,nodes[1] from table limit 3;
我如何得到它?预先感谢。
答案 0 :(得分:2)
使用array_length
select nodes[array_length(nodes,1)] as last, array_length(nodes,1) as length from t;