sql query list经理管理的员工数量

时间:2016-04-08 14:53:35

标签: mysql

我正在为我的数据库类做一个小任务。 我需要编写一个sql查询来列出所有员工经理的姓氏,然后列出他们管理的员工数量。 这是将员工插入表中的命令如下所示:

INSERT INTO Employee (Emp_No, Emp_Fname, Emp_Lname, Emp_Status,
Emp_Salary, Emp_Comm, Emp_HireDate, Emp_Mgr_Emp_No, Job_Title, Dept_No)
VALUES (7566, 'Mary', 'Jones', 'active', 2975, NULL, '02-APR-92', 7839,'Manager', 20);

这是我目前查询的内容:

SELECT emp_lname, COUNT(emp_no) "No_of_Employees"
FROM Employee
WHERE job_title = ('Manager', 'President')
    AND emp_mgr_emp_no IS NOT NULL
GROUP BY emp_lname

其中包含以下内容:

EMP_LNAME             No_of_Employees
Blake                 1
Clark                 1
Jones                 1

我如何修改它以列出每位经理的员工人数(包括管理3位经理的总裁)。

1 个答案:

答案 0 :(得分:0)

使用嵌套查询获取该特定员工管理的员工列表,并计算记录数。

SELECT emp_lname, sum(select count(emp_no) FROM Employee B WHERE B.Emp_Mgr_Emp_No = A.emp_no) AS 'Count' FROM Employee A

这样的事情应该有效