平均任職時間:經理在職期間的統計數據
P粉898049562
P粉898049562 2023-08-13 11:54:57
0
1
555
<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;
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板