簡體   English   中英

Presto Unnest varchar 數組字段

[英]Presto Unnest varchar array field

我是 Presto 和存儲為 arrays 的數據的新手。 我有一個表,其中包含一個 varchar 列,其中包含如下所示的數據:

桌子

即申請可能因多種原因被拒絕。 我需要顯示“有多少申請因什么原因被拒絕”,即 output 應該如下所示:

輸出

我試過 unnest 但得到“不能取消嵌套類型:varchar”

SELECT * 
FROM table
CROSS JOIN UNNEST(decline_reasons) AS t(value)

還嘗試強制轉換為數組,但得到“未知類型:數組”

SELECT cast(json_parse(decline_reasons) as array) 
FROM table

將不勝感激提示/指導。

您可以通過以下方式將數據轉換為數組

cast(json_parse(decline_reasons) as array<varchar>)

然后,您將能夠對數組結果使用UNNEST

https://prestosql.io/docs/current/functions/json.html#json_parse

想出了如何排列和制作行。 計數現在將是容易的部分

SELECT split_b 
FROM table
CROSS JOIN UNNEST(SPLIT(replace(replace(replace(json_format(cast(split(replace(replace(replace(regexp_replace(decline_reasons,'\s'),'"',''),'[',''),']',''),',') as json)),'[',''),']',''),'"',''),',')) AS t (split_b)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM