首页  >  问答  >  正文

平均任职时间:经理在职期间的统计数据

<p>招聘团队想要知道经理们在职位上的任职时间。</p> <p>检索经理们在职位上的平均任职时间。</p> <p>请编写查询以在存储过程中检索所需的数据。</p> <p>表名 = employee,您可以通过运行类似于<code>select top 10 * from employee</code>的查询来检查表,并按“Return Value”查看结果。</p> <p>manager_id指的是该员工的直接经理。</p> <p>不要舍入结果(它需要与预期输出中的数字匹配),确保在查询输出中给出列一个名称,例如time_in_position。</p> <table class="s-table"> <thead> <tr> <th>mployee_id</th> <th>manager_id</th> <th>name</th> <th>time_in_position</th> </tr> </thead> <tbody> <tr> <td>8</td> <td>9</td> <td>Michael Kim</td> <td>6.20</td> </tr> <tr> <td>34</td> <td>35</td> <td>Peter Tan</td> <td>4.00</td> </tr> <tr> <td>21</td> <td>23</td> <td>Alice Li</td> <td>1.90</td> </tr> </tbody> </table> <p>检索经理们在职位上的平均任职时间。</p>
P粉898049562P粉898049562433 天前532

全部回复(1)我来回复

  • P粉447002127

    P粉4470021272023-08-14 09:46:46

    我假设你的"employee"表中有一个名为"start_date"的列,该列表示员工职位的开始日期。

    SELECT AVG(DATEDIFF(MONTH, start_date, end_date)) AS average_time_in_position
    FROM (
        SELECT e1.employee_id, e1.manager_id, e1.name, e1.start_date, COALESCE(e2.start_date, GETDATE()) AS end_date
        FROM employee e1
        LEFT JOIN employee e2 ON e1.employee_id = e2.manager_id
    ) AS manager_positions;
    

    回复
    0
  • 取消回复