我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用SQL将多行记录合并成一行实例代码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用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;

补充:还有几种扩展

①可以给类别去重

SELECT group_id,GROUP_CONCAT(DISTINCT category) FROM `sqltest` GROUP BY group_id

使用SQL将多行记录合并成一行实例代码

②给类别排序

SELECT group_id,GROUP_CONCAT(category ORDER BY category DESC) FROM `sqltest` GROUP BY group_id

使用SQL将多行记录合并成一行实例代码

③给类别更改分隔符

SELECT group_id,GROUP_CONCAT(category SEPARATOR '_') FROM `sqltest` GROUP BY group_id

使用SQL将多行记录合并成一行实例代码

总结

到此这篇关于使用SQL将多行记录合并成一行的文章就介绍到这了,更多相关SQL多行记录合并一行内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用SQL将多行记录合并成一行实例代码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

SQL中可以使用GROUP_CONCAT函数将多行记录合并成一行。GROUP_CONCAT函数用于将分组后的多行数据合并为一个字符串,可以指定分隔符来分隔不同的值。下面是一个示例:假设有一个表students,包含学生的姓名和年龄字段:
SQL如何实现将多行记录合并成一行
2024-04-09

vue中使用el-table组件checkbox进行分页多选,回显、切换分页记住上一页所勾选和取消的选项(示例代码)

这篇文章主要介绍了vue中使用el-table组件checkbox进行分页多选,回显、切换分页记住上一页所勾选和取消的选项本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
2022-12-20

编程热搜

目录