[英]Get specific values from JSON column in Presto
我有一個JSON列的表points
與行為之一:
{"0": 0.2, "1": 1.2, "2": 0.5, "15": 1.2, "20": 0.7}
我想獲取鍵"1"
和"20"
,並將它們存儲為別名,例如查詢中的first
和second
。 到目前為止,我所做的是:
SELECT points, k, v from rewards CROSS JOIN UNNEST(SPLIT_TO_MAP(points, ',', ':')) AS m(k,v) where name='John'
但是此查詢為我提供了k,v的所有行。如何僅選擇對應於“ 1”和“ 20”的那兩個值?
JSON_EXTRACT_SCALAR達到了目的。
JSON_EXTRACT_SCALAR(points, '$["1"]') AS first_value
JSON_EXTRACT_SCALAR(points, '$["20"]') AS second_value
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.