SQL实现将多行记录合并成一行

简介: 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;
AI 代码解读

4,MySQL处理方式

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

select school,GROUP_CONCAT(name,',') from student
group by school;
AI 代码解读

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

目录
打赏
0
0
0
0
37
分享
相关文章
|
8月前
|
【SQL】已解决:SQL分组去重并合并相同数据
【SQL】已解决:SQL分组去重并合并相同数据
148 1
|
8月前
|
SQL
云架构数据倾斜问题之在SQL数据源读取查询时合并小文件如何解决
云架构数据倾斜问题之在SQL数据源读取查询时合并小文件如何解决
SQL 能力问题之合并两个存在交叉的日期区间,如何解决
SQL 能力问题之合并两个存在交叉的日期区间,如何解决
使用Flink SQL实现对连续的异常告警进行合并
使用Flink SQL实现对连续的异常告警进行合并
370 40
sql语句两个字段合并或者两个字段拼接显示
sql语句两个字段合并或者两个字段拼接显示
107 0
|
10月前
|
SQL JOIN 子句:合并多个表中相关行的完整指南
SQL LEFT JOIN关键字返回左表(table1)中的所有记录以及右表(table2)中的匹配记录。如果没有匹配,则右侧的结果为0条记录。
378 0
一条集多表查询、字段与字段拼接、合并每张表共同字段、新增列并赋值的SQL
一条集多表查询、字段与字段拼接、合并每张表共同字段、新增列并赋值的SQL
90 0
【SQL系列】合并多个行集
【SQL系列】合并多个行集
148 0
【SQL系列】合并多个行集
【SQL系列】合并多个行集
215 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等