Técnicamente, eso no es un error: Esa tabla conserva los tiempos de todas las maquinas, por lo que guarda todos los que se generan en cada una, y hablar de los "mejores" tiempos, sin discriminar si hablas de máximo so minimos, simplemente te devolverá los valores que correspondan a todas... incluyendo los diferentes r4egistrados en cada máquina.
No has hecho agrupamientos ni búsquedas finas, por lo que en realidad los toma a todos por igual, basados en una misma columna. Por eso se repiten los otros valores.
Tomando en cuenta que haces un ORDER BY descendente, hay que buscar los MAX():
Código SQL:
Ver original--EQUIPOS Y SUS TIEMPOS
SELECT DISTINCT
rec_equip_420,
MAX(Elapsed_Hours) Elapsed_Hours
FROM MSV420
WHERE
Rev_Stat_Year = '2010'
AND ROWNUM <= 10
GROUP BY rec_equip_420
ORDER BY Elapsed_Hours DESC