Postgres & jsonb, list extraction (to table)



我将以下列表存储在jsonb表中的JSON对象中:

[
{
"id": 123,
"p": 1
},
{
"id": 456,
"p": 2
},
{
"id": 789,
"p": 3
},
{
"id": 012,
"p": 4
},
{
"id": 345,
"p": 5
},
{
"id": 678,
"p": 6
},
{
"id": 901,
"p": 7
},
{
"id": 234,
"p": 8
},
{
"id": 567,
"p": 9
},
{
"id": 890,
"p": 10
},
{
"id": 1234,
"p": 11
},
{
"id": 5678,
"p": 12
},
{
"id": 9012,
"p": 13
}
]

我想要一个包含id列和p列的表,这里有 13 行。

这是一个使用json_array_elements的选项:

SELECT
json_array_elements(data)->>'id' AS id,
json_array_elements(data)->>'p' AS p
FROM yourTable;

演示

最新更新