一、字段
字段 含义
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