【问题标题】:For each manager_id between 202 and 203, show the number of employees each manager supervises对于 202 到 203 之间的每个 manager_id,显示每个经理监督的员工数量
【发布时间】:2018-03-30 18:39:38
【问题描述】:

对于 202 到 203 之间的每个 manager_id

  • 显示每位经理监督的员工人数
  • 仅显示管理超过 2 名员工的经理。

表格信息:

CREATE TABLE Employee (  
    Employee_ID     INT     NOT NULL,  
    First_Name      VARCHAR(64) NOT NULL,  
    Last_Name       VARCHAR(64) NOT NULL,  
    Dept_Code       VARCHAR(6)  NOT NULL,  
    Hire_Date       DATE        NULL,  
    Credit_Limit    NUMERIC(8,2)    NULL,  
    Phone_Ext       INT     NULL,  
    Manager_ID      INT     NULL);  

INSERT INTO Employee VALUES (201,'Susan','Brown','Exe','01-Jun-1998',30.00,3484,NULL);  
INSERT INTO Employee VALUES (202,'Jim','Kern','Sal','16-Aug-1999',25.00,8722,201);  
INSERT INTO Employee VALUES(203,'Martha','Woods','Shp','02-Feb-2004',25.00,7591,201);  
INSERT INTO Employee VALUES(204,'Ellen','Owens','Sal','01-Jul-2003',15.00,6830,202);  
INSERT INTO Employee VALUES(205,'Henry','Perkins','Sal','01-Mar-2000',25.00,5286,202);  
INSERT INTO Employee VALUES(206,'Carol','Rose','Act','','',NULL,NULL);  
INSERT INTO Employee VALUES(207,'Dan','Smith','Shp','01-Dec-2004',25.00,2259,203);  
INSERT INTO Employee VALUES(208,'Fred','Campbell','Shp','01-Apr-2003',30.00,1752,203);  
INSERT INTO Employee VALUES(209,'Paula','Jacobs','Mkt','17-Mar-1999',15.00,3357,201);  
INSERT INTO Employee VALUES(210,'Nancy','Hoffman','Sal','16-Feb-2004',25.00,2974,203); 

【问题讨论】:

  • 1) 不要标记未涉及的产品。删除所有未参与的人。
  • 2) 正确的格式使您的问题更易于阅读。

标签: mysql sql sql-server oracle


【解决方案1】:

您将如何获得答案:

    SELECT Manager_ID, COUNT(Employee_ID) AS EmployeeCount
    FROM dbo.Employee
    WHERE Manager_ID BETWEEN 202 AND 203
    GROUP BY Manager_ID
    HAVING COUNT(1) >2

【讨论】:

    【解决方案2】:

    我建议阅读基本的 sql 选择和分组。像这样的东西应该可以工作:

    SELECT manager_id
        ,count(distinct employee_id) employees_managed
    from employee
    where manager_id in (202, 203)
    group by 1
    having count(distinct employee_id) > 2
    

    您基本上想计算每个经理的员工 ID。并过滤经理ID。然后过滤大于 2 的员工数。

    【讨论】:

    • 谢谢,有什么推荐的最好的来源吗?
    • 从w3学校开始
    • 感谢您的提醒。现在会这样做!
    • 同时试试我的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-09-23
    • 2016-04-14
    • 2012-02-17
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多