如何编写postgresql查询来获取json数据数组中的字段值

时间:2016-12-27 13:17:25

标签: postgresql

以下数据是postgres db中的示例json数据

    {
        "RA1":{
            "RaItems": [
                {
                    "a": 1,
                    "b": 2
                },
                {
                    "a": 11,
                    "b": 22
                },
                {
                    "a": 111,
                    "b": 222
                }
            ]
        }
}

我尝试查询只在select子句中获取一个' s字段值: 选择数据 - >' RA1' - > RaItems' - > 0->' a'从表;

但我需要一个postgressql查询来获取所有的动态数组长度,如下面的输出: 1,11,111

1 个答案:

答案 0 :(得分:0)

您需要使用JSONB_ARRAY_ELEMENTS函数,然后将整个事物包装在外部查询中

SELECT d->'a' FROM (
   SELECT JSONB_ARRAY_ELEMENTS (bada->'RA1'->'RaItems') AS d FROM mytable
) AS subq