SQL子查询总计/计数

时间:2012-09-17 20:31:41

标签: sql

我正在尝试编写一个查询,列出经理的姓名和他们管理的人数。

Manager表中,我们有经理nameid

Employee表中,我们有员工nameidmanagerID

我不明白如何获得经理管理的员工数量。

4 个答案:

答案 0 :(得分:2)

SELECT COUNT(e.EmpID), m.ManagerID
FROM Employee e
INNER JOIN Manager m 
ON e.ManagerID= m.ManagerID
GROUP BY m.ManagerID

答案 1 :(得分:0)

SELECT m.Name, COUNT(e.id) AS NumberOfEmployeesManaged
FROM Manager m INNER JOIN Employee e ON m.id = e.managerID
GROUP BY m.Name

我认为应该这样做,只需在加入经理和员工表后对员工ID进行简单计算,并按经理名称分组。

答案 2 :(得分:0)

SELECT count(emp.empid), mgr.managerid
FROM Employee emp
INNER JOIN Manager mgr ON emp.managerid=mgr.managerid
GROUP BY mgr.managerid;

答案 3 :(得分:0)

我不知道你是否可以在JOIN中使用COUNT聚合器。但是你可以运行2个查询。人们可以选择经理的姓名& ID。第二个看起来像这样:

$ id =经理的身份

SELECT COUNT(*) FROM Employee WHERE managerID=$id

或者,您无法使用COUNT并运行如下查询:

SELECT id FROM Employee WHERE managerID=$id

然后,结果行的数量将是经理管理的员工数量。