GROUP_CONCAT用途

实现某个字段按分组结果拼接。
举个例子:
现有一个班级表、学生表,需要列出每个班级的学生名,按逗号拼接显示。

实现

构建班级表

  • 创建表结构
CREATE TABLE `t_class`  (`id` int(0) NOT NULL AUTO_INCREMENT,`class_name` varchar(255) NULL DEFAULT NULL,`created_on` datetime(0) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
  • 数据初始化
INSERT INTO `t_class`(`id`, `class_name`, `created_on`) VALUES (1, '一班', '2020-08-13 14:25:01');
INSERT INTO `t_class`(`id`, `class_name`, `created_on`) VALUES (2, '二班', '2020-08-13 14:25:01');
INSERT INTO `t_class`(`id`, `class_name`, `created_on`) VALUES (3, '三班', '2020-08-13 14:25:01');

构建学生表

  • 创建表结构
CREATE TABLE `t_student`  (`id` int(0) NOT NULL AUTO_INCREMENT,`name` varchar(255) NULL DEFAULT NULL,`age` int(0) NULL DEFAULT NULL,`class_id` int(0) NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
  • 数据初始化
INSERT INTO `test`.`t_student`(`id`, `name`, `age`, `class_id`) VALUES (1, '小东', 25, 1);
INSERT INTO `test`.`t_student`(`id`, `name`, `age`, `class_id`) VALUES (2, '小明', 26, 2);
INSERT INTO `test`.`t_student`(`id`, `name`, `age`, `class_id`) VALUES (3, '小红', 22, 3);
INSERT INTO `test`.`t_student`(`id`, `name`, `age`, `class_id`) VALUES (4, '小丽', 24, 2);
INSERT INTO `test`.`t_student`(`id`, `name`, `age`, `class_id`) VALUES (5, '张三', 24, 2);
INSERT INTO `test`.`t_student`(`id`, `name`, `age`, `class_id`) VALUES (6, '李四', 25, 3);
INSERT INTO `test`.`t_student`(`id`, `name`, `age`, `class_id`) VALUES (7, '王五', 24, 1);

查询结果

select a.*, GROUP_CONCAT(b.name) as studentNames
from t_class a
left join t_student b on b.class_id = a.id
group by a.id
  • 结果如下,studentNames字段为拼接结果

MySQL使用GROUP_CONCAT分组拼接相关推荐

  1. mysql在GROUP_CONCAT中拼接字符串

    1.在 GROUP_CONCAT 函数中拼接字符串直接使用 + 是不行的,会报错: 2.在 GROUP_CONCAT 函数中拼接字符串要用 CONCAT 函数或者 CONCAT_WS 函数,并且在使用 ...

  2. MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录

    MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录 MySQL  2014-08-27  26945阅读  0评论 0收藏  收藏本文 这篇 ...

  3. sqlserver的for xml path和mysql的group_concat的区别

    前几天遇到公司更换数据库,将sqlserver更改为mysql,更改完后发现后台sql报错,是一个关于多行转换成一行的SQL问题,度娘告知for xml path只适用于sqlserver,并不适用于 ...

  4. 聊一聊Mysql中的字符串拼接函数

    生死看淡,上来就干! 简单来说,Mysql中的字符串拼接函数主要有三个,分别是CONCAT().CONCAT_WS()以及GROUP_CONCAT():废话不多说,下面就每个函数具体来看一下: 1.C ...

  5. oracle使用wm_concat 进行分组拼接

    oracle 的wm_concat 和mysql 的group_concat类似,主要是先分组,然后将分组后输入同组的的内容用","拼接在一期 例子: SELECT a.perio ...

  6. mysql之group_concat函数

    mysql之group_concat函数 在介绍GROUP_CONCAT之前,我们先来看看concat()函数和concat_ws()函数. 先准备一个测试数据库: mysql> select ...

  7. java mysql 动态sql_Java下拼接运行动态SQL语句

    Java拼接动态SQL的一般做法有 1.使用动态语句 非常多数据库都提供了处理动态SQL的语法,如Oracle的EXECUTE IMMEDIATE语句.MSSQL的EXEC和SP_EXECUTESQL ...

  8. mysql中group_concat函数_MySQL中group_concat函数

    为什么我要学习该函数,我在做控制页面的权限的时候,没有使用Shiro框架[强烈推荐使用], 为了降低学习成本,暂时给学生过渡的想法,我需要控制到按钮级别的权限,我的想法是通过Jquery对我的页面中的 ...

  9. MySQL用逗号进行拼接、以逗号进行分割

    MySQL中,把查询的结果拼接成一个字符串. group_concat 函数 用法:group_concat (待拼接对象) 输出:用逗号进行拼接后的字符串 例子: select group_conc ...

最新文章

  1. C# 开发微信扫码登录
  2. C# Email邮件发送,功能是密码找回或者重置功能。
  3. OPEN ERP相关财务的基本概念
  4. 青龙羊毛——放羊娃(教程)
  5. Windows PE 重定位表编程(枚举重定位地址)
  6. SAP ABAP二分查找(binary search)实际问题的深度分析
  7. Linux设置root默认密码
  8. 如何从USB运行Windows 8 Developer Preview
  9. 【LeetCode笔记】143. 重排链表(Java、链表、栈、快慢指针)
  10. python替代hadoop_Python连接Hadoop数据中遇到的各种坑(汇总)
  11. HTML5 History API让ajax能回退到上一页
  12. python调用cplex_python 调用cplex(设置 CPLEX 的 Python API)
  13. 学习如何在matlab用带通滤波器进行滤波
  14. wps序号打乱重新排序_wps表格序号自动排列
  15. 排序算法c语言描述---基数排序
  16. 反走样知识简单分享-计算机图形学
  17. Dijkstra最短路由算法,求任意两点之间的最短距离【Java】
  18. 使用java开发spark实战
  19. 淘宝API接口系列,获取购买到的商品订单列表,卖出的商品订单列表,订单详情,订单物流,买家信息,收货地址列表,买家token
  20. 实力踩坑:There is no getter for property named ‘XXX‘ ‘class XXX‘

热门文章

  1. ABAP程序打印Spool Request到PDF
  2. SAP生产订单状态详解
  3. 自新建表包含货币金额类型和数量类型时报错问题。
  4. 求职受性别限制?数据指明2021女性求职新方向
  5. 青瓷游戏上市首日破发,“元宇宙光环”能否拯救年内首支游戏股?
  6. 疫情之后,出行市场的春天还有多远?
  7. catia v5r24 计算机id,catia v5r24 r25 r26安装教程.ppt
  8. android时间轴左右交叉布局,快速简单的定制一个时间轴布局(LinearLayout)
  9. 指针不显示 upupw_Go高级编程:指针和内存分配详解
  10. 攻防世界(pwn)--Mary_Morton 利用格式化字符串+栈溢出破解Canary的保护机制