我正在mysql中使用json类型的列。我有一个包含两列id和jsondata(json类型列)的表。下面是我的json行的示例:
{
"id": "35",
"var": [
{
"inf": "VALUE1",
"prod": {
"xProd": "PRODUCT 1",
},
"nItem": 1
},
{
"inf": "VALUE2",
"prod": {
"xProd": "PRODUCT 2",
},
"nItem": 2
},
]
}
如何提取句子大小的“var”属性?在我的例子中,var属性内部有两个值:“inf:value1”和inf:value2".
我的目标是创建一个具有以下格式的表:
ID QTD_VAR INF
35 2 VALUE1, VALUE2
如果我使用下面的代码,我可以从json中提取value2:
select JSON_EXTRACT(`jsondata` , '$.id.var[1].INF')
from tmp;
但问题是我不知道“var”每行可以有多少个元素。
感谢您的帮助。
1条答案
按热度按时间mxg2im7a1#
您可以使用一些12.16.1json函数引用。你需要调整你所需要的一切。
只有一些想法:
见小提琴。