如何选择对嵌套数组json有条件的mysql?

时间:2019-07-02 06:03:57

标签: mysql arrays json

我正在创建一个具有一个json列的表,并且插入的数据具有以下结构:

{
   "options" : {
      "info" :  [
                 {"data" : "data1", "verified" : 0},
                 {"data" : "data2", "verified" : 1},
                 ... and more
                ],
     "otherkeys" : "some data..."
   }
}

我想运行查询以获取data个“信息”中的verified = 1

这是针对在Windows 10上运行的mysql 5.7社区

    select id, (meta->"$.options.info[*].data") AS `data`
    from tbl
    WHERE meta->"$.options.info[*].verified" = 1

期望输出“ data2”,但实际输出为空。

以下查询效果很好

    select id, (meta->"$.options.info[*].data") AS `data`
    from tbl
    WHERE meta->"$.options.info[1].verified" = 1

但是我需要搜索数组中的所有项目,不仅索引1

如何解决?

(对不起,英语不好)

1 个答案:

答案 0 :(得分:0)

尝试:

df['Fare'].astype(int).replace({512:263}, inplace=True)

请参见dbfiddle