将多行值组合成一行

问题描述 投票:0回答:1

我想将同一 id 的多个行值合并为一个由逗号分隔的行值

雅典娜怎么能做到这一点?

这是数据:

这是预期的结果:

感谢您的帮助和想法。提前致谢。

sql amazon-web-services amazon-athena presto trino
1个回答
-1
投票

可以使用

array_agg
聚合函数:

-- sample data
with dataset(id, interest) as(
    values (1,  'Math'),
        (1,  'Poetry'),
        (1,  'Art'),
        (2,  'Math'),
        (2,  'Other')
)

-- query
select id, array_agg(interest) interest
from dataset
group by id

输出:

id 兴趣
1 [数学、诗歌、艺术]
2 [数学,其他]
© www.soinside.com 2019 - 2024. All rights reserved.