使用mysql group by显示count为0的行
我在MySql Company中有两个表:(cname,city)工作:(ename,cname,salary)
我想显示每个公司的员工人数,即使该人数为零。
例如
Company : Microsoft Bangalore
IBM NY
works :
emp1 Microsoft 10000
emp2 Microsoft 90000
输出应为:
Microsoft 2IBM 0
但是以下查询和其他类似查询仅显示那些至少拥有一名员工的公司:
Select count(*) from works natural join company group by company.cname
如果我使用外部联接,则员工数为零的公司仍将显示在一行中,因此该选项也将退出。
怎么做?
回答:
LEFT JOIN的经典案例:
SELECT c.cname,
COUNT(w.ename) wcount
FROM
company c
LEFT JOIN works w ON c.cname = w.cname
GROUP BY
c.cname
以上是 使用mysql group by显示count为0的行 的全部内容, 来源链接: utcz.com/qa/433122.html