Setiap kali Anda mulai berpikir bahwa Anda menginginkan GROUP BY yang dilokalkan, Anda harus mulai memikirkan fungsi jendela sebagai gantinya.
Saya pikir Anda mencari sesuatu seperti ini:
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
Anda mungkin ingin menambahkan sesuatu ke ORDER BY untuk secara konsisten memutuskan hubungan juga, tetapi itu tidak akan mengubah teknik keseluruhan.