0


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
groupby school;

4,MySQL处理方式

GROUP_CONCAT(字段 分隔符)
注意:MySQL在GROUP_CONCAT函数中,去重需要使用distinct 关键字,如果需要先排序再合并,也可以使用order by 关键字。

select school,GROUP_CONCAT(name,',')from student
groupby school;

我是喵,有问题随时沟通哟~~~

标签: sql hive mysql

本文转载自: https://blog.csdn.net/weixin_42011858/article/details/125142168
版权归原作者 晓之以理的喵~~ 所有, 如有侵权,请联系我们删除。

“SQL实现将多行记录合并成一行”的评论:

还没有评论