Prueba esto:
SELECT yourtable.*
FROM yourtable
WHERE (serial_num, version) in (select serial_num, max(version)
from yourtable
group by serial_num)
La subconsulta devolverá la versión máxima para serial_num, por lo que devolverá todas las filas donde serial_num tiene el valor máximo. Ver este violín .