2 messages in com.mysql.lists.mysql-esRe: Seleccionar casos según valor maximo| From | Sent On | Attachments |
|---|---|---|
| Alvaro Cobo | 03 Oct 2006 15:24 | |
| Alvaro Cobo | 03 Oct 2006 15:57 |
| Subject: | Re: Seleccionar casos según valor maximo![]() |
|---|---|
| From: | Alvaro Cobo (cobo...@gmail.com) |
| Date: | 10/03/2006 03:57:57 PM |
| List: | com.mysql.lists.mysql-es |
Galo:
Eres lo máximo!. Funciona a las mil maravillas!.
Muchas gracias.
Alvaro
Galo Izquierdo escribió:
select t.* from test t where t.año = (select max(f.año) from test f where f.fk_id=t.fk_id ) group by t.FK_id
Prueba esto
Saludos, Galo Izquierdo V.
-----Mensaje original----- De: Alvaro Cobo [mailto:cobo...@gmail.com] Enviado el: Martes, 03 de Octubre de 2006 17:24 Para: mysq...@lists.mysql.com Asunto: Seleccionar casos según valor maximo
Hola chicos y chicas:
Tengo la siguiente tabla con los siguientes valores de ejemplo: +-------+------+-------+ | FK_id | año | valor | +-------+------+-------+ | CasoA | 2004 | 30 | | CasoA | 2005 | 10 | | CasoB | 2005 | 12 | | CasoC | 2007 | 8 | | CasoB | 2006 | 14 | +-------+------+-------+
Lo que necesito es seleccionar solamente los datos correspondientes a los años máximos para cada caso en FK_id.
Basados en el ejemplo, necesitaría que el resultado fuera el siguiente (porque corresponden al año máximo para cada caso):
+-------+------+-------+ | FK_id | año | valor | +-------+------+-------+ | CasoA | 2005 | 10 | | CasoC | 2007 | 8 | | CasoB | 2006 | 14 | +-------+------+-------+
La musa inspiradora no ha llegado el día de hoy y no tengo la más peregrina idea de por donde empezar. Les agradeceré cualquier pista que me conduzca a esclarecer este problema.
Muchas gracias por anticipado y un abrazo fraterno,
Alvaro.
Detalles del servidor: MySQL versión 5.0.21, Debian Sarge.
CREATE TABLE `test` ( `FK_id` varchar(10) NOT NULL, `año` year(4) NOT NULL, `valor` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `test` VALUES ('CasoA', 2005, 10); INSERT INTO `test` VALUES ('CasoB', 2005, 12); INSERT INTO `test` VALUES ('CasoA', 2006, 8); INSERT INTO `test` VALUES ('CasoB', 2006, 14); INSERT INTO `test` VALUES ('CasoA', 2004, 30);
-- Lista de Correos de MySQL Para el historial de la lista: http://lists.mysql.com/mysql-es Para cancelar inscripción: http://lists.mysql.com/mysql-es?unsub=galo...@gye.hamburgsud.com




