28/07/2010, 11:36
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 10 meses Puntos: 300 | |
Respuesta: Sacar el maximo Id de varios campos driverram,
aplaudo tu interés y empeño en sacar la consulta de otro modo. Pero piensa en lo que ocurre cuando utilizas el HAVING. El HAVINg depende de un group by, y siempre es el resultado del mismo; pero cuando aplicas un group by sin ordenar previamente te muestra sólo un registro de cada dato y es además el primer almacenado, con lo que de poco te sirve. Te toca ordenar primero y luego hacer el group by valor (lo que yo he hecho), o hacer un SELECT valor, MAX(rev) maximo FROM tabla y luego mediante un inner join (subconsulta al fin y al cabo) relacionar el valor y el alias maximo
Un ejemplo ficticio
SELECT id, valor, rev FROM tutabla INNER JOIN (SELECT valor, MAX(rev) maximo FROM tutabla) t1 ON tutabla.valor = t1. valor AND tutabla.rev = t1.maximo
Esto, creo, también podría valer, pero quizás sea más rápido lo otro que te propuse. No estoy seguro de que no se pueda hacer algo con HAVING (quizás algún post de huesos52 ofreció una solución como la que tú buscas). Lo pensaré y si recuerdo la consulta o el post, lo pondré aquí. |