计算雪花中的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",

我在Snowflake中有一个名为HISTORY的表,该表有一个名为RECORD的列,其中包含变量数据类型,该列包含JSON数据,我想为HISTORY table添加一个新列,用于计算每行HISTORY table的JSON列(值),请提供帮助

Json数据的开头如下:

{"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可以嵌套在内部,这样简单的计数就行不通了。你可以用一个