Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/07/2010, 00:14
driverram
 
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Sacar el maximo Id de varios campos

Buenas. Creo tener exactamente la misma duda. Recién comienzo con MySQL y ya le di bastantes vueltas al asunto sin obtener lo que buscaba, así que agradecería una mano :P

La respuesta dada no da el máximo, da el primero que aparece, que en este caso es las rev 0, no las 1 como se pidió. Además, ya de ver
(SELECT id, Plano, proveedor, rev FROM tutabla ORDER BY Plano, id)
Se ve que se obtiene directamente la tabla que ya se tenía :P

No dudo de todas formas de que por algo similar se pueda obtener, pero me parece que es mucha consulta (un select dentro del otro) y espero poder obtenerlo sin necesidad de eso.

Estube intentando con algo así como:
SELECT id, Plano, proveedor, rev
FROM prueba GROUP BY Plano HAVING MAX(rev)
Pero obtengo:
id Plano proveedor rev
1 3506 Abb 0
3 4522 Abb 0

Con
SELECT id, Plano, proveedor, MAX(rev)
FROM prueba GROUP BY Plano HAVING MAX(rev)
Obtengo
id Plano proveedor MAX(rev)
1 3506 Abb 1
3 4522 Abb 1

Que sigue sin ser lo buscado, ya que si bien las revisiones son las máximas, los ID no son 2 y 4 como se buscaba, sino los viejos 1 y 3.

La pregunta sería, ¿Alguien sabe como con el HAVING y el MAX(rev), hacer que los demás campos buscados del select se correspondan?

Particularmente mi problema, es obtener algo como lo que se pregunta al principio de este topic (por eso lo reutilizo, para ver si nos podemos sacar las dudas los 2), pero de una manera óptima a nivel performance (tiempo), y usar subconsultas no me parece lo mejor.

Salu2 y grax de antemano.