You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MySQL按喜爱课程分组创建合并姓名的新表?

实现MySQL分组合并姓名并创建新表

要实现将student表中按FAVORITE分组、合并同课程姓名为逗号分隔字符串,并创建favorite新表的需求,核心是使用MySQL的GROUP_CONCAT()函数,以下是两种可行方案:

方案一:先建表再插入数据

先定义favorite表的结构,再将分组查询的结果插入表中:

-- 创建favorite表
CREATE TABLE favorite (
    FAVORITE VARCHAR(50),
    NAME VARCHAR(255)
);

-- 插入分组合并后的数据
INSERT INTO favorite (FAVORITE, NAME)
SELECT 
    FAVORITE,
    GROUP_CONCAT(NAME SEPARATOR ', ') AS NAME
FROM student
GROUP BY FAVORITE;

方案二:直接通过查询结果创建表

一步完成表创建和数据插入,无需单独定义表结构:

CREATE TABLE favorite AS
SELECT 
    FAVORITE,
    GROUP_CONCAT(NAME SEPARATOR ', ') AS NAME
FROM student
GROUP BY FAVORITE;

补充说明

  • GROUP_CONCAT()默认使用逗号分隔,这里显式指定SEPARATOR ', '是为了匹配示例中姓名间带空格的格式;
  • 如果需要对合并的姓名进行排序,可在函数内添加ORDER BY,例如:GROUP_CONCAT(NAME ORDER BY NAME SEPARATOR ', ');
  • 若student表中存在FAVORITE为NULL的记录,可通过WHERE FAVORITE IS NOT NULL过滤掉这类数据。

内容的提问来源于stack exchange,提问作者dhanyn10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 17:05:18