2013-02-20 88 views
0

我有表部门和员工。 架构是什么样子,如何在Mysql Left Join中计数?

department(id, name) 
employee(id,depid,salary) 

我需要得到员工的数量在各个部门。 我在MySQL查询像

select d.depname,count(e.id) 
from employe as e left join department as d on d.depid 
where e.depid=d.depid group by d.depid; 

但结果集只包含具有雇员的部门。 我需要有0名员工的部门本身为零。

+0

http://www.sqlfiddle.com/#!2/63551/5 – 2013-02-20 08:14:40

回答

6

只是互换表名,

SELECT d.name, 
     COUNT(e.id) totalEmployeeCount 
FROM department AS d 
     LEFT JOIN employee AS e 
      ON e.depid = d.id 
GROUP BY d.id; 

为了进一步获得更多的知识有关加入,请访问以下链接:

+0

感谢您的意见 – Anjana 2013-02-20 07:33:45

+0

不客气':D' – 2013-02-20 07:58:54