Consulta MySQL con MAX

Iniciado por yovaninu, 14 Septiembre 2017, 15:43 PM

0 Miembros y 1 Visitante están viendo este tema.

yovaninu

Hola a todos, ojala puedan ayudarme con esto simple:
Tengo una tabla asi

Tabla: "clientes"









IDNombreDinero
1Juan50
2Juan90
3Juan30

Lo que deseo obtener a través de una consulta de MySQL es el monto maximo que 'Juan' tiene en esas 3 filas, PERO el numero de fila, es decir, el resultado deberia ser:



2Juan90

Dado que es en la 2da fila en donde tiene mas dinero.

Al poner asi:

select id,nombre,max(dinero) from "clientes"


o asi:

select id,nombre,max(dinero) from "clientes" group by nombre


Me resulta asi


1Juan90

Dando a entender que el maximo dinero que juan tiene esta en la primera fila, cuando lo correcto es en la segunda.

Que estoy haciendo mal?

Desde ya les quedo agradecido.

cassiani

Así:

Código (sql) [Seleccionar]
SELECT id, nombre, dinero FROM clientes WHERE dinero IN (SELECT MAX(dinero) FROM clientes GROUP BY nombre);

yovaninu

Cita de: cassiani en 16 Septiembre 2017, 13:39 PM
Así:

Código (sql) [Seleccionar]
SELECT id, nombre, dinero FROM clientes WHERE dinero IN (SELECT MAX(dinero) FROM clientes GROUP BY nombre);
Es correcto, pero si la tabla clientes ahora crece a:

Tabla: "clientes"
ID   Nombre   Dinero
1      Juan         50
2      Juan         90
3      Juan         30
4      Pedro       80
5      Pedro       200
6      Pedro       30

La consulta deja de funcionar si lo que queremos es la fila en la que Juan y Pedro tienen mas dinero que deberia ser 2da para Juan y la 5ta para Pedro

garc

Amigo para que salga el máximo primero y el mínimo último tienes que añadirle -> ORDER BY dinero