Bueno, finalmente opté por una solución, comento aquí todo por si a alguien pudiera ayudarle:
Parece que esto funciona como veiamos. Aunque creo que no debería ser así puesto que la función MAX devuelve un registro y el resto de campos deberían ser de ese registro y no uno cualquiera, pero bueno.
Finalmente lo que he hecho es:
Código:
SELECT *
FROM `maquina` m
WHERE ID IN (
SELECT MAX(ID) FROM maquina GROUP BY maquina
)
Tampoco es buena solución puesto que no se deberia usar MAX(ID) para obtener el ultimo registro sino un campo fecha, porque el campo autoincrement como sabemos se resetea llegado a su máximo.
Espero sirvan estos comentarios y un saludos a todos.