搜尋

首頁  >  問答  >  主體

平均任職時間:經理在職期間的統計數據

<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粉898049562521 天前589

全部回覆(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
  • 取消回覆