gpt4 book ai didi

presto - 在 PrestoSQL 中将行合并为一个列表

转载 作者:行者123 更新时间:2023-12-03 13:51:02 45 4
gpt4 key购买 nike

目前,我的表有三个不同的字段,id1 , id2actions . action是字符串类型。例如,我的表看起来类似于下面给出的表:

id1   |   id2  |   actions
---------------------------
"a1" "a2" "action1"
"b1" "b2" "action2"
"a1" "a2" "action3"

如果 id1的值以及值 id2对于任意数量的行都是相同的,我想合并这些行,以便 actions字段成为字符串列表。如果 id1 没有任何行具有相同的值和 id2 的相同值,我还想转换 actions字段作为列表但只有一个字符串。例如,查询的输出应如下所示:
id1   |   id2  |   actions
---------------------------
"a1" "a2" ["action1", "action3"]
"b1" "b2" ["action2"]

我知道 Presto 的一些基础知识,可以根据条件连接列,但不确定这是否可以通过查询来实现。如果可以实现这一点,那么推进该逻辑的实现有什么好的方法?

最佳答案

尝试使用 ARRAY_JOINARRAY_AGG :

SELECT
id1,
id2,
ARRAY_JOIN(ARRAY_AGG(actions), ',') actions
FROM yourTable
GROUP BY
id1,
id2;

关于presto - 在 PrestoSQL 中将行合并为一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55370212/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com