从多行到唯一行的sql字符串字段聚合

yyyllmsg  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(286)

例如,我可以有这个表:

我想,与hql,组我的id和聚合我的数据。结果可能是:

有像count或avg这样的运算符来聚合这样的字符串吗?
谢谢你的帮助

gkl3eglg

gkl3eglg1#

你可以用 collect_list 使复制数据保持完整或使用 collect_set 删除重复值。

select id,collect_list(data)
from tbl
group by id
gz5pxeao

gz5pxeao2#

使用 collect_list() 将字符串聚合到数组+ concat_ws(delimiter, array<string>) 用于连接数组以获取分隔字符串:

select id, 
       concat_ws(' ',collect_list(data)) as aggregated_data
  from tbl
 group by id;

相关问题