如何根据 Athena (Presto) 中的列值将一行分成多行?
How to break a row into multiple rows based on a column value in Athena (Presto)?
我有一个 Athena table,它有一列包含值数组。我想从一行创建多行,以便可以将数组的列更改为仅包含 1 个值。
例如:
Name Id PhoneNumber
Josh 123 [1236348475,5323794875]
看起来像:
Name Id PhoneNumber
Josh 123 1236348475
Josh 123 5323794875
如何编写查询来实现此目的?
我认为 unnest()
可以满足您的要求:
select t.name, t.id, u.phonenumber
from t cross join
unnest(t.phonenumber) u(phonenumber);
我有一个 Athena table,它有一列包含值数组。我想从一行创建多行,以便可以将数组的列更改为仅包含 1 个值。
例如:
Name Id PhoneNumber
Josh 123 [1236348475,5323794875]
看起来像:
Name Id PhoneNumber
Josh 123 1236348475
Josh 123 5323794875
如何编写查询来实现此目的?
我认为 unnest()
可以满足您的要求:
select t.name, t.id, u.phonenumber
from t cross join
unnest(t.phonenumber) u(phonenumber);