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

MySQL关联两张表按条件将多行结果合并为同一列的SQL查询

MySQL查询语句实现方案

你可以使用MySQL内置的GROUP_CONCAT聚合函数实现同组字符串拼接,配合关联查询即可得到你需要的结果,具体语句如下:

SELECT 
    c.CategoryID,
    c.Name AS Category,
    GROUP_CONCAT(t.Name ORDER BY t.TypeID SEPARATOR ', ') AS Types
FROM Category c
INNER JOIN Type t ON c.CategoryID = t.CategoryID
GROUP BY c.CategoryID, c.Name
ORDER BY c.CategoryID;

语句说明

  • 用INNER JOIN通过CategoryID关联两张表,如果你需要保留没有对应类型的分类,可以替换为LEFT JOIN,此时没有类型的分类Types字段会为NULL
  • GROUP_CONCAT函数指定了按TypeID排序拼接,分隔符为, (逗号加空格),和你期望的输出格式一致
  • 分组字段为Category表的CategoryID和Name,符合MySQL的分组语法规范

小提示:如果你的分类下类型数量较多,拼接结果被截断,可以在执行查询前先执行SET SESSION group_concat_max_len = 102400;调整当前会话的拼接长度上限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:45:04