hivesql 如何实现分组后拼接同一列的字符串呢?
分组之后,在组内对某一列做字符串拼接,效果如下:
要知道,拼接几列字符串不难,concat 就可以实现,concat(col1,col2,col3) 就会将第一列,第二列,第三列字符拼接起来,此处就不做示范了。
但如果要拼接一列中的字符呢?小编是没有遇见过啦,所以懵的一逼。搜索了下,发现了一个很好用的函数
concat_ws
select id, concat_ws('_',collect_set(col1)) as concatcol1 from table group by id
小编试了之后不成功,于是换了第二种函数 groupconcat
select id,group_concat(distinct(col1),'_') as concatcol1 from table group by id
实现了在组内,拼接同一列字符串。