例如:省市级联数据,省表 和 市表
现在要查询 各个省份的数据和省关联了多少市的 count 统计
方法一
# 📢 注意 : 如果主表还有 left join ,那么在统计的时候,注意用主表的别名,直接用主表表名是不对的
SELECT
t1.主表_字段_1,
t1.主表_字段_2,
t1.主表_字段_3,
( SELECT COUNT(t2.id) FROM 子表 AS t2 WHERE t1.主表_字段_1 = t2.子表对应字段 ) AS countNum
FROM
主表 AS t1
方法二
# 如果主表还有 left join ,那么在统计的时候,注意用主表的别名,直接用主表表名是不对的
SELECT
t1.主表_字段_1,
t1.主表_字段_2,
t1.主表_字段_3,
t3.countNum
FROM
主表 AS t1
LEFT JOIN ( SELECT COUNT(*) AS countNum FROM 子表 AS t2 GROUP BY t2.主表对应字段 ) t3 ON t1.主表_字段_1 = t2.主表对应字段
方法三
# 📢 注意 : 这样写的话,要在 GROUP BY 后边展现所有需要查询的主表字段
SELECT
t1.主表_字段_1,
t1.主表_字段_2,
t1.主表_字段_3,
COUNT(t2.id) AS countNum
FROM
主表 AS t1
LEFT JOIN 子表 AS t2 ON t1.主表_字段_1 = t2.主表对应字段
GROUP BY
t1.主表_字段_1,
t1.主表_字段_2,
t1.主表_字段_3,