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

SQL按code分组合并行问题:GROUP_CONCAT未返回全部记录

问题解决:按code分组合并cat和class字段

你的问题出在查询语句中的ID字段未做聚合处理:当使用GROUP BY code时,非分组列(比如ID)必须通过聚合函数(如MIN()、MAX())指定取值逻辑,否则在严格SQL模式下会直接报错,非严格模式也会返回不确定的ID值,进而导致结果不符合预期。

以下是正确的SQL语句:

SELECT MIN(ID) AS ID,
       GROUP_CONCAT(CAT SEPARATOR ',') AS CAT,
       GROUP_CONCAT(Class SEPARATOR ',') AS Class,
       code
FROM T1
GROUP BY code;

执行结果

idcatcodeclass
1A,B1971,2
2C.12331
2C.22401

说明:

  • 使用MIN(ID)是为了匹配你期望结果中code=197对应的ID值,如果你需要分组内的最大ID,可以替换为MAX(ID);
  • GROUP_CONCAT()默认用逗号分隔,显式指定SEPARATOR ','是为了逻辑更清晰,也可以省略;
  • 该语句会按所有code值分组,返回全部分组的合并结果,符合你“获取全部记录”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 06:10:57