平均任职时间:经理在职期间的统计数据
P粉898049562
P粉898049562 2023-08-13 11:54:57
0
1
556
<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粉898049562
P粉898049562

全部回复(1)
P粉447002127

我假设你的"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;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板