Hola wilcg.
Me alegro que lo hayas solucionado
.
El motivo de mi pregunta fue, por que había interpretado que no tenías el valor DNI y deseabas obtener ambos valores (DNI y PAGO) de la fila cuya columna VALOR tuviera el valor mayor.
Y en ese caso, la sintáxis varia de acuerdo al gestor que estes usando, vg.
Firebird:
Código SQL
[-]
SELECT FIRST 1 DNI, MAX(PAGO) AS MAXIMO
FROM PAGOS
GROUP BY DNI
ORDER BY MAXIMO DESC
MySQL:
Código SQL
[-]
SELECT DNI, MAX(ID) AS MAXIMO
FROM PAGOS
GROUP BY DNI
ORDER BY MAXIMO DESC
LIMIT 1
Access:
Código SQL
[-]
SELECT TOP 1 DNI, MAX(PAGO) AS MAXIMO
FROM PAGOS
GROUP BY DNI
ORDER BY 2 DESC
...
Indudablemente
Casimiro entendió a primeras la índole de tu consulta
Saludos