mysql 分组统计总数没有的默认为0

1、有两张表

部门表 d:deptid deptname

员工表 e:empid empname deptid

2、要求出每个部分下面员工数量,没有人的数量显示为0

SELECT 
  d.deptid,
  d.deptname,
  IFNULL(t1.count1, 0) AS dcount
FROM
 dept d 
  LEFT JOIN 
(SELECT deptid,COUNT(*) AS count1 FROM emp  GROUP BY deptid) t1
ON d.deptid=t1.deptid ORDER BY d.deptid;

 

3、如果是oracle可以考虑使用nvl()代替IFNULL

你可能感兴趣的:(数据库)