對多行進行合並(collect_set,collect_list,sort_array函數)


一、字段

字段        含義
wname      姓名
wtype      科目

 

二、函數說明(在hivesql中適用)

1、collect_set()

根據wname進行分組,將wtype進行合並,統計每個人的科目,如果有兩行wname,wtype一模一樣的數據,collect_set()會去重,只合並其中一行,相同的科目只出現一次

 

2、collect_list()

根據wname進行分組,將wtype進行合並,統計每個人的科目,如果有兩行wname,wtype一模一樣的數據,collect_list()不會去重,相同的科目會出現兩次

 

3、concat_ws()

語法:concat_ws(separator,str),通過分隔符連接兩個字符串

 

4、sort_array()

語法:sort_array(str),對輸入數組元素進行排序

 

三、結合使用

SELECT wname,concat_ws('',sort_array(collect_set(wtype))) as exp from input group by wname

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM