SQL实现将多行记录合并成一行
SQL实现将多行记录合并成一行
我们在数据开发的过程中,经常会遇到这样的需求,就是将多行合并为一行,并且用特定字符隔开。
1、数据处理前
2,结果数据展示
3,hive处理方式
在hive里面,用concat_ws函数处理 格式: concat_ws(‘分隔符’,collect_set/collect_list(字段)) 参数释义: concat_ws:多行合并一行函数 collect_set:合成数组,数据已去重 collect_list:合成数组, 数据未去重
SQL脚本: select school,concat_ws(,,collect_set(name)) from student group by school;
4,MySQL处理方式
GROUP_CONCAT(字段 分隔符) 注意:MySQL在GROUP_CONCAT函数中,去重需要使用distinct 关键字,如果需要先排序再合并,也可以使用order by 关键字。
select school,GROUP_CONCAT(name,,) from student group by school;
我是喵,有问题随时沟通哟~~~