从Presto中的JSON列获取特定值



我有一个带有JSON列points的表,其中一个行AS:

{"0": 0.2, "1": 1.2, "2": 0.5, "15": 1.2, "20": 0.7}

我想在查询中获取键"1""20"的值,并将它们存储为像firstsecond这样的别名。到现在为止,我所做的是:

SELECT points, k, v from rewards CROSS JOIN UNNEST(SPLIT_TO_MAP(points, ',', ':')) AS m(k,v) where name='John'

但是,此查询给了我k,v。的所有行

json_extract_scalar做到了。

JSON_EXTRACT_SCALAR(points, '$["1"]') AS first_value

JSON_EXTRACT_SCALAR(points, '$["20"]') AS second_value

相关内容

  • 没有找到相关文章