服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - 使用SQL将多行记录合并成一行实例代码

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

2022-11-11 16:33晓之以理的喵~~ Mysql

今天同事问了一个需求,就是将多行数据合并成一行进行显示,查询了一些资料,这篇文章主要给大家介绍了关于使用SQL将多行记录合并成一行的相关资料,需要的朋友可以参考下

前言

我们在数据开发的过程中,经常会遇到这样的需求,就是将多行合并为一行,并且用特定字符隔开。

 

1、数据处理前

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

 

2. 结果数据展示

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

 

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多行记录合并一行内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_42011858/article/details/125142168

延伸 · 阅读

精彩推荐
  • MysqlMySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法

    MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法

    这篇文章主要为大家详细介绍了MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    剑侠3654842020-12-10
  • MysqlMySQL 丢失数据的原因及解决

    MySQL 丢失数据的原因及解决

    这篇文章主要介绍了MySQL 丢失数据的原因及解决,帮助大家更好的理解和学习使用MySQL数据库,感兴趣的朋友可以了解下...

    王文安@DBA7732021-06-30
  • Mysql深入理解mysql各种锁

    深入理解mysql各种锁

    大家好,本篇文章主要讲的是深入理解mysql各种锁,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览...

    奔跑的蜗牛...7992022-01-20
  • MysqlMySQL基础入门之Case语句用法实例

    MySQL基础入门之Case语句用法实例

    case语句是mysql中的一个条件语句,可以在字段中使用case语句进行复杂的筛选以及构造新的字段,下面这篇文章主要给大家介绍了关于MySQL基础入门之Case语句用...

    宇宙之一粟5342022-08-08
  • MysqlMySQL8.0.3 RC版本即将发布 先来看看有哪些变化

    MySQL8.0.3 RC版本即将发布 先来看看有哪些变化

    MySQL8.0.3 RC版本即将发布,这篇文章主要介绍了MySQL8.0.3 RC版本的一些新变化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    itwriter3512020-08-14
  • Mysql简单介绍下MYSQL的索引类型

    简单介绍下MYSQL的索引类型

    本文介绍了七种MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令MySQL的查询和运行更加高效。 ...

    MYSQL教程网1822020-05-14
  • Mysqlmysql 循环批量插入的实例代码详解

    mysql 循环批量插入的实例代码详解

    本文通过实例代码文字相结合的形式给大家介绍了mysql 循环批量插入功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    昔时半夏4432020-09-28
  • Mysqlmysql 操作数据库基础详解

    mysql 操作数据库基础详解

    这篇文章主要介绍了mysql 操作数据库基础详解,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓...

    面屏思过11242022-08-03