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

如何用一个表的值统计另一表结果?SQL新增统计列方法

在Table_A中新增列统计Table_B对应Team_Number的出现次数

没问题!要实现这个需求很简单,我给你两种常用的SQL写法,你可以根据自己的场景选择:

方法一:关联子查询

这种写法逻辑直观,针对Table_A的每一行单独统计对应Team_Number在Table_B里的数量:

SELECT 
    a.Id,
    a.Coach,
    a.Team_Color,
    a.Team_Number,
    -- 子查询统计当前Team_Number在Table_B中的出现次数
    (SELECT COUNT(*) FROM Table_B b WHERE b.Team_Number = a.Team_Number) AS Player_Count
FROM Table_A a;

方法二:LEFT JOIN + GROUP BY

如果你的数据量较大,这种写法通常性能更好,通过关联后分组统计:

SELECT 
    a.Id,
    a.Coach,
    a.Team_Color,
    a.Team_Number,
    -- 统计关联后的Table_B记录数,无匹配时返回0
    COUNT(b.Id) AS Player_Count
FROM Table_A a
LEFT JOIN Table_B b ON a.Team_Number = b.Team_Number
-- 按Table_A的所有列分组,确保每行数据独立
GROUP BY a.Id, a.Coach, a.Team_Color, a.Team_Number;

效果验证

根据你提供的示例数据:

  • Table_A中Id为001的行,Team_Number是121,对应Table_B里有3条记录,所以Player_Count会返回3
  • Id为002、003的行,如果Table_B里没有对应的Team_Number,Player_Count会返回0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:05:53