当我需要从json数据进行查询时,我遇到了问题。
我的json数据如下所示:
{"groups":[{"groupid":"3","group_name":"test group","group_type":"user","office":"1"},{"groupid":"4","group_name":"test group 1","group_type":"user","office":"1"},{"groupid":"21","group_name":"test group 2","group_type":"directory","office":"0"}]}是否可以进行只返回groupids的查询,其中office=1
目前我已经做到了这一点,但不知道如何查询办公室。
select json_extract(test,'$.groups[*].groupid') as groupid from test;发布于 2018-04-16 22:51:28
尝试:
SELECT CONCAT('
SELECT JSON_EXTRACT(`doc_text`, ',
REPLACE(TRIM('[' FROM TRIM(']' FROM
JSON_SEARCH(doc_text, 'all', '1', NULL, '$.groups[*].office')
)
),
'office',
'groupid'
), ') `groupid` FROM `docs`'
) INTO @`sql`
FROM `docs`;参见dbfiddle。
https://stackoverflow.com/questions/49842672
复制相似问题