Presto equivalent of MySQL group_concat



我是Presto的新手,希望获得与MySQL中的group_concat函数相同的功能。以下两个是等效的吗?如果没有,关于如何在 Presto 中重新创建group_concat功能的任何建议?

MySQL:

select 
  a,
  group_concat(b separator ',')
from table
group by a

普雷斯托:

select 
  a,
  array_join(array_agg(b), ',')
from table
group by a

(在搜索功能时,在此处发现这是建议的 Presto 解决方法group_concat。

尝试使用它来代替 Presto 中的group_concat ::

select 
  a,
  array_join(array_agg(b), ',')
from table
group by a

另外,如果您只查找唯一值(相当于group_concat(distinct ... separator ', ')(,请尝试以下操作:

array_join(array_distinct(array_agg(...)), ', ')

截至此答案,尽管已请求该功能,但没有功能。

您的问题中提到了最接近的等价物。

WITH tmp AS (
SELECT 'hey' AS str1
UNION ALL
SELECT ' there'
)
SELECT array_join(array_agg(str1), ',', '') AS joined
FROM tmp

相关内容

  • 没有找到相关文章