Kdykoli si začnete myslet, že chcete lokalizovanou GROUP BY, měli byste začít přemýšlet o funkce oken místo toho.
Myslím, že toužíte po něčem takovém:
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
Možná budete chtít přidat něco do OBJEDNÁVKY, abyste také důsledně přerušili vazby, ale to by nezměnilo celkovou techniku.