在Postgresql中枚举JSON数组元素



是否有办法查询jsonb数组项目与他们的顺序在postgresql枚举?

例如:

SELECT * FROM jsonb_array_elements('[1,2,[3,4]]'::jsonb)

结果:

value
1
2
[3, 4]

我想要这些结果:

key value
0   1
1   2
2   [3, 4]

因为我认为我可以安全地假设任何未显式排序的select语句都是无序的,所以我认为简单的ROW_NUMBER()在这种情况下不会可靠地工作。

操作符with ordinality将生成数组索引值:

SELECT idx, value
FROM jsonb_array_elements('[1,2,[3,4]]'::jsonb) with ordinality as t(value, idx)
order by idx

相关内容

  • 没有找到相关文章

最新更新