Veamos:
Jurena te propuso esto, que te devuelve la más reciente, de cada uno de los usuarios:
Código MySQL:
Ver original T1.DNI, T1.fecha
DNI, fecha
T1.DNI
No te puede estar devolviendo las fechas menores (las más antiguas), precisamente por la cláusula
DESC.
Y además te dijo esto:
Cita: si quieres añadir más campos, los añades en la subconsulta y luego en la consulta con T1 por delante.
con lo que si le faltan datos, debes ponérselos tu, que eres quien
sabe qué datos contiene esa tabla...
Huesos52, por su parte te propone esto:
Código MySQL:
Ver original a.dni,
a.fecha
dni,
ON a.dni
= t1.dni
AND a.fecha
= t1.fecha_mayor
;
(con algún cambio mío en el ON).
Esta consulta hace virtualmente lo mismo, pero de otra forma: Busca y agrupa los datos más recientes de cada usuario, y luego los cruza con sigo mismo para devolverte los datos de la tabla que necesitas.
También en este caso, si quieres más datos, debes ponerlos en el SELECT para que salgan...
Cualquiera de los dos casos hace lo que pides. Lo hacen de formas diferentes, nada más.
Lo único que me queda por deducir, si esto no te está devolviendo lo que quieres, es que lo que tu deseas es
un sólo registro.
¿es así?