计算雪花中的JSON列
我在Snowflake中有一个名为HISTORY的表,该表有一个名为RECORD的列,其中包含变量数据类型,该列包含JSON数据,我想为HISTORY table添加一个新列,用于计算每行HISTORY table的JSON列(值),请提供帮助 Json数据的开头如下:计算雪花中的JSON列,json,snowflake-cloud-data-platform,Json,Snowflake Cloud Data Platform,我在Snowflake中有一个名为HISTORY的表,该表有一个名为RECORD的列,其中包含变量数据类型,该列包含JSON数据,我想为HISTORY table添加一个新列,用于计算每行HISTORY table的JSON列(值),请提供帮助 Json数据的开头如下: {"prizes": [ {"year":"2018", "category":"physics",
{"prizes":
[ {"year":"2018",
"category":"physics",
"laureates":[ {"id":"960","firstname":"Arthur","surname":"Ashkin"}
, { "id":"961","firstname":"G\u00e9rard","surname":"Mourou" }
]
},
...
]
}
首先将数据展平到我需要的最低级别(laureates),然后应用于“year”元素,它比laureates元素高一个级别。如果需要,您还可以对最低级别的列进行筛选
select
count(*)
from NobelPrizeJson
, lateral flatten(INPUT=>json:prizes) prizes
, lateral flatten(INPUT=>prizes.value:laureates) laureates
where prizes.value:year::int > 2010;
详情载于:
到目前为止,您尝试了什么?我尝试了从“MULESOFT_DEV”“SURVEY_RESULTS”“SURVEY_RESPONSES_History_DATA_BackUp”中选择Count(记录:“F000 Start Date”),但此查询返回1,因为这是文件中的第一个键值,但我想要全部(计算文件中的所有键值)您要同时计算第一级关键点还是嵌套关键点?JSON可以嵌套在内部,这样简单的计数就行不通了。你可以用一个