您现在的位置是:网站首页> 编程资料编程资料
使用SQL将多行记录合并成一行实例代码_Mysql_
2023-05-26
509人已围观
简介 使用SQL将多行记录合并成一行实例代码_Mysql_
前言
我们在数据开发的过程中,经常会遇到这样的需求,就是将多行合并为一行,并且用特定字符隔开。
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;
补充:还有几种扩展
①可以给类别去重
SELECT group_id,GROUP_CONCAT(DISTINCT category) FROM `sqltest` GROUP BY group_id

②给类别排序
SELECT group_id,GROUP_CONCAT(category ORDER BY category DESC) FROM `sqltest` GROUP BY group_id

③给类别更改分隔符
SELECT group_id,GROUP_CONCAT(category SEPARATOR '_') FROM `sqltest` GROUP BY group_id

总结
到此这篇关于使用SQL将多行记录合并成一行的文章就介绍到这了,更多相关SQL多行记录合并一行内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- 安装rpm包时提示错误:依赖检测失败的解决方法_Mysql_
- Mysql存在则修改不存在则新增的两种实现方法实例_Mysql_
- 如何使用MySQL查询一年中每月的记录数_Mysql_
- MySQL InnoDB引擎的缓存特性详解_Mysql_
- Mysql 实现向上递归查找父节点并返回树结构的示例代码_Mysql_
- mysql中update按照多重条件进行更新处理的方案_Mysql_
- MySQL中使用序列Sequence的方式总结_Mysql_
- MySQL索引介绍及优化方式_Mysql_
- mysql如何对已经加密的字段进行模糊查询详解_Mysql_
- MySQL中DATE_FORMAT()函数将Date转为字符串_Mysql_
