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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章