有沒有辦法用 postgresql 中列舉的順序查詢 jsonb 陣列項?
例如:
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() 不會可靠地作業。
uj5u.com熱心網友回復:
運算子with ordinality將生成陣列索引值:
SELECT idx, value
FROM jsonb_array_elements('[1,2,[3,4]]'::jsonb) with ordinality as t(value, idx)
order by idx
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/317111.html
標籤:json PostgreSQL jsonb postgresql-13
