Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我可以将json_数组_长度与条件一起使用吗?_Sql_Presto_Amazon Athena - Fatal编程技术网

Sql 我可以将json_数组_长度与条件一起使用吗?

Sql 我可以将json_数组_长度与条件一起使用吗?,sql,presto,amazon-athena,Sql,Presto,Amazon Athena,我正在查询一个包含JSON的字段: 字段json_数据的示例数据点如下所示: apples= [{"CHAR_STARS":1,"CHAR_A1_LVL":1}, {"CHAR_STARS":1,"CHAR_A1_LVL":2}] 我可以通过json\u数组长度(json\u data['apples'])获得苹果的计数,在本例中返回2 我只想数那些CHAR_A1_LVL>1的是什么?在这种情况下,将返回1 如何做到这一点?假设您的JSON数据具有常规模式,您可以将其转换为数组(行(char\

我正在查询一个包含JSON的字段:

字段json_数据的示例数据点如下所示:

apples=
[{"CHAR_STARS":1,"CHAR_A1_LVL":1},
{"CHAR_STARS":1,"CHAR_A1_LVL":2}]
我可以通过
json\u数组长度(json\u data['apples'])
获得苹果的计数,在本例中返回2

我只想数那些CHAR_A1_LVL>1的是什么?在这种情况下,将返回1


如何做到这一点?

假设您的JSON数据具有常规模式,您可以将其转换为
数组(行(char\u stars bigint,char\u a1\u lvl bigint))
,并与a一起使用以选择符合所需条件的元素

例如:

数据(x)为(
值“[{“CHAR_STARS”:1,“CHAR_A1_LVL”:1},{“CHAR_STARS”:1,“CHAR_A1_LVL”:2}”
)
选择基数(
滤器(
强制转换(json_解析(x)为数组(行(char_stars bigint,char_a1_lvl bigint)),
r->r.char(1层以上)
根据数据;