Один подход, используя ROW_NUMBER
:
WITH cte AS (
SELECT t.*, ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Date DESC) rn
FROM yourTable t
)
SELECT
t1.ID,
t1.Name,
t1.DeptID,
t1.Date,
t2.Name AS NAME1
FROM yourTable t1
INNER JOIN cte t2
ON t1.ID = t2.ID
WHERE
t2.rn = 1
ORDER BY
t1.ID,
t1.Date;