ローカライズされたGROUPBYが必要だと考え始めるときはいつでも、ウィンドウ関数 代わりに。
私はあなたがこのようなものを求めていると思います:
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に何かを追加して、一貫して結びつきを断ち切ることもできますが、それでも全体的なテクニックは変わりません。