Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

sobre los últimos registros "agrupados"

Estas en el tema de sobre los últimos registros "agrupados" en el foro de Mysql en Foros del Web. gurues: como diantres puedo sacar los ultimo registros de una tabla?? ojo que no necesito el famoso "last_insert_id()" sino mas bien la función "last()" que ...
  #1 (permalink)  
Antiguo 30/06/2006, 00:58
 
Fecha de Ingreso: junio-2005
Mensajes: 23
Antigüedad: 18 años, 10 meses
Puntos: 0
sobre los últimos registros "agrupados"

gurues:
como diantres puedo sacar los ultimo registros de una tabla??
ojo que no necesito el famoso "last_insert_id()" sino mas bien la función "last()" que se utilizaba en access.

para graficar mejor, la cosa es la siguiente:

tabla1
cod____producto____fecha____cantidad
1______a__________10/10/05__10
2______b__________10/10/05__5
3______a__________15/10/05__20

mi idea es la siguiente:

cuando la consulta es (select * from tabla1 group by productos having fecha<='12/10/05')

la respuesta sea:
cod____producto____fecha____cantidad
1______a__________10/10/05__10
2______b__________10/10/05__5

cuando la consulta sea: (select * from tabla1 group by productos having fecha<='20/10/05')
la correcta sería:

cod____producto____fecha____cantidad
2______b__________10/10/05__5
3______a__________15/10/05__20

probé con la función max() y me devolvia la fecha del registro con cod=1 (para este último caso). es decir, (select max(cod) as cod1, fecha, producto, cantidad from tabla1 group by producto having fecha<='20/10/05') la respuesta era:
cod1___producto____fecha____cantidad
2______b__________10/10/05__5
3______a__________10/10/05__10

tampoco puedo usar subquery por que la version del mysql del hosting es la 4.0.27

entonces como puede ser para encontrar las ultimas "cantidades" con sus respectivas "fechas" agrupadas por "productos"??
lo que access sería:
(Select last(cod), tabla1.* from tabla1 group by producto having fecha<='20/10/05')
en nuestro querydo mysql es:...........(por favor, completar)..........

gracias por vuestra colaboración, si es q responden correctamente. si no entiendes nada toma nota y esperemos la respuesta del gurú que está por responder.
  #2 (permalink)  
Antiguo 30/06/2006, 08:36
Avatar de sfx4ever  
Fecha de Ingreso: noviembre-2003
Ubicación: aqui
Mensajes: 384
Antigüedad: 20 años, 5 meses
Puntos: 2
no se si te he entendido bien, pero si quieres sacar los, por ejemplo, 5 ultimos registros debes usar ORDER BY id desc LIMIT 5
Si quieres los registros agrupados metele tambien el GROUP BY en la consulta.

espero que esto te ayude.
  #3 (permalink)  
Antiguo 30/06/2006, 16:11
 
Fecha de Ingreso: junio-2005
Mensajes: 23
Antigüedad: 18 años, 10 meses
Puntos: 0
a la consulta (select cod, producto, cantidad, fecha from tabla1 group by producto having fecha<='20/10/05' order by cod desc) la respuesta es:

cod1___producto____fecha____cantidad
3______a__________10/10/05__10
2______b__________10/10/05__5

no saco nada con LIMIT 5 ya que al usar el group by se supone que me entrega los datos de todos los productos... y es lo que necesito!!

insisto, necesito solo los ultimos datos de todos los distintos productos dependiendo la fecha... "el famoso last()" como se hace en mysql???????
  #4 (permalink)  
Antiguo 30/06/2006, 16:22
 
Fecha de Ingreso: junio-2005
Mensajes: 23
Antigüedad: 18 años, 10 meses
Puntos: 0
perdon, la respuesta anterior es:

cod____producto____fecha____cantidad
2______b__________10/10/05__5
1______a__________10/10/05__10

y para q recuerden... lo que busco es:

cod____producto____fecha____cantidad
2______b__________10/10/05__5
3______a__________15/10/05__20


saludos!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:55.