如何在SQL中从字符串中提取项目列表

时间:2018-10-02 09:58:59

标签: mysql json

我想将itemid拆分为一个列表,因为我想将该列表用作另一个查询中的条件:

data
--------------------------------------------------------------------------------
[{"shopid":64522541,"itemid":1260324852},{"shopid":31863766,"itemid":1265550228}]

我已经这样尝试过JSON_EXTRACT:

SELECT JSON_EXTRACT(data,'$.itemid') from table
WHERE collection_id = 88888

但是它不起作用。能否请您提供一种提取列表的方法,我可以在以下代码中使用该方法:

Select id in table2 
where id in LIST

2 个答案:

答案 0 :(得分:0)

对于以下查询的Postgrey可能会有帮助

  select  (d->>'itemid')::numeric itemid
        from 
         json_array_elements(data::json) d

答案 1 :(得分:0)

使用以下查询来获取itemid列表:

SELECT JSON_EXTRACT(data,'$[*].itemid') from table WHERE collection_id = 88888;