ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL 多行数据合并 GROUP_CONCAT

2020-05-11 19:05:35  阅读:225  来源: 互联网

标签:INSERT GROUP name utf8 INTO course VALUES MySQL CONCAT


表结构及数据

DROP TABLE IF EXISTS `course`;
CREATE TABLE `course` (
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`course_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES ('李明', '阅读赏析');
INSERT INTO `course` VALUES ('李明', '摄影');
INSERT INTO `course` VALUES ('李明', '太极剑');
INSERT INTO `course` VALUES ('司马光', '马克思主义基本原理');
INSERT INTO `course` VALUES ('司马光', '摄影');
INSERT INTO `course` VALUES ('叶问', '阅读赏析');
INSERT INTO `course` VALUES ('叶问', '法语');

SET FOREIGN_KEY_CHECKS = 1;

 

查询选修课表:

select t.name as '姓名',t.course_name as '课程' from course t  ;

 

 

需求: 将每个人的课程合并为一行数据

select t.name as '姓名',GROUP_CONCAT(t.course_name )  as '课程' from course t  group by t.name ;

注意:使用 GROUP_CONCAT()函数必须对源数据进行分组,否则所有数据会被合并成一行

标签:INSERT,GROUP,name,utf8,INTO,course,VALUES,MySQL,CONCAT
来源: https://www.cnblogs.com/yyxianren/p/12871113.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有