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

如何编写SQL根据同分组不同值生成目标列Column C?

如何用SQL生成同组内其他列值的关联表

原数据表

Column AColumn B
10008800
10008810
10008820
20009900
20009910

目标数据表

Column AColumn BColumn C
100088008810
100088008820
100088108800
100088108820
100088208800
100088208810
200099009910
200099109900

你需要的是将同一Column A分组下的其他Column B值作为Column C,用**自连接(Self Join)**就能实现,不需要用Concat函数。具体SQL语句如下:

SELECT 
    t1.`Column A`,
    t1.`Column B`,
    t2.`Column B` AS `Column C`
FROM 
    your_table t1
JOIN 
    your_table t2 ON t1.`Column A` = t2.`Column A`
WHERE 
    t1.`Column B` != t2.`Column B`
ORDER BY 
    t1.`Column A`, t1.`Column B`, t2.`Column B`;

逻辑说明

  • 自连接将表与自身关联,通过ON t1.Column A = t2.Column A``确保只匹配同一分组的数据
  • WHERE t1.Column B != t2.Column B``排除了Column B值与自身配对的情况,只保留同组内的其他值
  • ORDER BY用于让结果和目标表排序一致,不需要的话可以去掉这部分

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:32:57