hivesql 分组拼接同一列的字符串 / 分组多行拼接为一行

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

实现了在组内,拼接同一列字符串。

猜你喜欢

转载自www.cnblogs.com/4991tcl/p/11120680.html