显示另一个表中主键的列的计数

时间:2015-03-05 10:42:11

标签: mysql

将2个表作为输入 - 员工和联系方式:

Employee  
ID  Name  
1   Anshika   
2   Arnav   
3   Ishita  
4   Iti  

Contact  
ID  Mobile No.  
1   1234  
2   2345  
4   3456  
2   4532  
1   5674  

将输出显示为:

ID      COUNT  
1       2  
2       2  
3       0  
4       1  

我写道:

SELECT id, COUNT(*) FROM Contact GROUP BY id;

输出为:

ID COUNT  
1 2  
2 2  
4 1  

但我也想在输出中记录3 0

2 个答案:

答案 0 :(得分:0)

这对你有用: **

SELECT nameemp.id, 
COUNT(Contact.ID) AS total
FROM nameemp 
LEFT JOIN Contact
ON nameemp.id = Contact.id
GROUP BY nameemp.id

**

答案 1 :(得分:0)

我建议您熟悉SQL中不同类型的JOIN子句(例如,查看this article)。这是你问题的解决方案:

SELECT Employee.ID, COUNT(*)
  FROM Employee
  LEFT OUTER JOIN Contact
    ON Employee.ID = Contact.ID
  GROUP BY Employee.ID