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

MySQL自关联business表查询:获取企业ID、名称及分支数量

实现语句

SELECT 
    p.id AS 企业ID,
    p.businessname AS 企业名称,
    COUNT(c.id) AS 下属分支数量
FROM business p
LEFT JOIN business c ON p.id = c.branch
GROUP BY p.id, p.businessname
ORDER BY p.id;

逻辑说明

  • 我们将business表分别作为父企业表(别名p)和子分支表(别名c)做左关联,关联条件为父企业ID等于子分支的branch字段,这样每个父企业都会匹配到所有直属下属分支,没有分支的父企业对应的子分支字段值为NULL
  • 按父企业的id、businessname分组,确保每个企业对应唯一一条统计结果,同时兼容MySQL的严格分组模式
  • 使用COUNT(c.id)统计每个分组下的子分支数量,COUNT函数会自动忽略NULL值,因此没有分支的企业统计结果会直接返回0,不需要额外做空值转换
  • 你之前写的子企业查询父企业的语句逻辑和当前需求相反,仅需要把左连接的左右表调换逻辑即可复用关联逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 22:54:10