如何实现统计profession_id数量输出左下角这种方式?(快递员=0这个信息也要输出)
SELECT
count( user.profession_id),
profession.NAME
FROM
profession
JOIN user ON user.profession_id = profession.id
GROUP BY
user.profession_id
根据profession_id分组,并count数量
SELECT
count( user.profession_id),
profession.NAME
FROM
profession
LEFT JOIN user ON user.profession_id = profession.id
GROUP BY
注意,用LEFT JOIN, 而不是JOIN
select a.name,
case
when b.profession_id is null then 0
else count()
end Count
from profession a
left join user b on a.id=b.profession_id
group by a.name;
你统计的是profession表的内容,所以先查profession表信息,在左连接user表的,根据名称分组统计,case判断一下,如果user表没有内容,即profession_id是空的,就为0,否则就是count()