Presto相当于MySQL group_concat

时间:2017-05-23 18:23:46

标签: mysql group-concat presto

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

MySQL的:

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

的Presto:

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

(在搜索group_concat功能时,将其作为建议的Presto解决方法here找到。)

3 个答案:

答案 0 :(得分:12)

尝试在Presto ::

中使用它代替group_concat
glob.glob

答案 1 :(得分:6)

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

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

答案 2 :(得分:3)

这个答案没有任何功能though the feature has been requested

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

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