【问题标题】:How to break a row into multiple rows based on a column value in Athena (Presto)?如何根据 Athena (Presto) 中的列值将一行分成多行?
【发布时间】:2020-04-19 14:54:45
【问题描述】:

我有一个 Athena 表,其中有一列包含值数组。我想从一行创建多行,以便可以将数组的列更改为仅包含 1 个值。

例如:

Name   Id   PhoneNumber
Josh   123  [1236348475,5323794875]

看起来像:

Name   Id   PhoneNumber
Josh   123  1236348475
Josh   123  5323794875

如何编写查询来实现这一点?

【问题讨论】:

标签: sql presto amazon-athena


【解决方案1】:

我认为unnest() 可以满足您的需求:

select t.name, t.id, u.phonenumber
from t cross join
     unnest(t.phonenumber) u(phonenumber);

【讨论】:

    猜你喜欢
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2021-01-24
    相关资源
    最近更新 更多