sql - 如何根据 Athena (Presto) 中的列值将一行分成多行?

标签 sql presto amazon-athena

我有一个 Athena 表,其中有一列包含值数组。我想从一行创建多行,以便可以将数组的列更改为仅包含 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);

关于sql - 如何根据 Athena (Presto) 中的列值将一行分成多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59537976/

相关文章:

python - 在 R 中,即使安装了 Boto3,也没有 Boto3 连接 Athena 时出错

如果可能的话,Mysql HAVING 子句带有条件

mysql - 将 1 个任意行指定为每组的主要行

sql - 使用两个 where 子句连接两个 Athena 表

amazon-web-services - 尝试按日期过滤时 AWS Athena 查询错误

hive - 如何从 AWS 中的 Athena 获取结果格式 JSON?

amazon-athena - 从 s3 读取时需要跳过 CSV header

sql - Liquibase - 插入带有 uuid 的行

php - PHP 中的 session (用户登录)

mysql-connector - Presto MySQL 连接器 : 'DROP TABLE is disabled in this catalog'