Всеки път, когато започнете да мислите, че искате локализиран GROUP BY, трябва да започнете да мислите за прозоречни функции вместо това.
Мисля, че преследвате нещо подобно:
select unit_id, time, diag
from (
select unit_id, time, diag,
rank() over (partition by unit_id order by time desc) as rank
from diagnostics.unit_diag_history
) as dt
where rank = 1
Може да искате да добавите нещо към ORDER BY, за да прекъсвате връзките постоянно, но това няма да промени цялостната техника.