MySQL将多条数据合并成一条的完整示例

 更新时间:2023年02月28日 10:39:34   作者:缘来侍你  
我们在使用mysql的时候常会遇到合并的需求,下面这篇文章主要给大家介绍了关于MySQL将多条数据合并成一条的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

数据库中存的是多条数据,展示的时候需要合并成一条

数据表存储形式如下图

以type分组,type相同的算一条,且保留image和link的所有数据,用groupBy只保留一条数据

解决方案:用GROUP_CONCAT

完整语法如下

group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

SELECT * FROM testgroup

表结构与数据如上

现在的需求就是每个id为一行 在前台每行显示该id所有分数

group_concat 上场!!!

SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id

可以看到 根据id 分成了三行 并且分数默认用 逗号 分割 但是有每个id有重复数据 接下来去重

SELECT id,GROUP_CONCAT(DISTINCT score) FROM testgroup GROUP BY id

排序

SELECT id,GROUP_CONCAT(score ORDER BY score DESC) FROM testgroup GROUP BY id

最后可以设置分隔符

SELECT id,GROUP_CONCAT(score SEPARATOR ';') FROM testgroup GROUP BY id 

 二、多字段如何处理

select id,name,GROUP_CONCAT(CONCAT_WS(',',type,typename) SEPARATOR ',') typelinks from demo GROUP BY id,name;

三、Laravel GROUP_CONCAT使用方法

DB::raw('GROUP_CONCAT(pp.sku SEPARATOR ",") sku')

具体代码如下

$list = $this->ServiceModel->query()->where($where)
            ->groupBy('type')
            ->orderBy('update_time','desc')
            ->paginate($this->ServiceModel->pageSize, [
                'id',DB::raw('GROUP_CONCAT(CONCAT_WS(",",image,link) SEPARATOR ";") content'),
                'type','modified_user_id','status','create_time','update_time'
            ], "page", $page);
 
$total = $list->total();
$res = $list->items();

每条数据以";"分割,每个字段以“,”分割

总结

到此这篇关于MySQL将多条数据合并成一条的文章就介绍到这了,更多相关MySQL多条数据合并一条内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql 5.7.15 安装配置方法图文教程

    mysql 5.7.15 安装配置方法图文教程

    这篇文章主要为大家分享了mysql 5.7.15安装配置方法图文教程,感兴趣的朋友可以参考一下
    2016-09-09
  • 关于Mysql-connector-java驱动版本问题总结

    关于Mysql-connector-java驱动版本问题总结

    这篇文章主要介绍了Mysql-connector-java驱动版本问题,本文给大家介绍的很详细,通过原因说明问题小结个人建议给大家展示的很好,需要的朋友可以参考下
    2021-06-06
  • mysql 8.0.25 安装配置方法图文教程

    mysql 8.0.25 安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.25 安装配置方法图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • MySQL主键约束和外键约束详解

    MySQL主键约束和外键约束详解

    主键约束,说白了就是 not null + unique,主键也是在插入数据的时候先进行查询,而 MySQL 则会对 unique,primary key 这样的列自动的添加索引(后续介绍),来提高查询的效率,这篇文章主要介绍了MySQL主键约束和外键约束,需要的朋友可以参考下
    2023-03-03
  • mysql分表和分区的区别浅析

    mysql分表和分区的区别浅析

    这篇文章主要介绍了mysql分表和分区的区别浅析,并对它们之间的相同做了分析,需要的朋友可以参考下
    2014-07-07
  • MySQL常用类型转换函数总结(推荐)

    MySQL常用类型转换函数总结(推荐)

    这篇文章主要介绍了MySQL常用类型转换函数总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • mysql为字段添加和删除唯一性索引(unique) 的方法

    mysql为字段添加和删除唯一性索引(unique) 的方法

    下面小编就为大家带来一篇mysql为字段添加和删除唯一性索引(unique) 的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • MySQL 字符串函数大全

    MySQL 字符串函数大全

    如果字符串函数提供一个二进制字符串作为参数,结果字符串也是一个二进制字符串。被变换到一个字符串的数字被当作是一个二进制字符串。这仅影响比较 .
    2009-07-07
  • MySQL中的LOCATE和POSITION函数使用方法

    MySQL中的LOCATE和POSITION函数使用方法

    不常用:MySQL中的LOCATE和POSITION函数
    2010-02-02
  • Mysql以utf8存储gbk输出的实现方法提供

    Mysql以utf8存储gbk输出的实现方法提供

    Mysql以utf8存储gbk输出的实现方法提供...
    2007-11-11

最新评论