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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM