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

Obtener registros de los últimos 10 dias

Estas en el tema de Obtener registros de los últimos 10 dias en el foro de Mysql en Foros del Web. Tengo una tabla que almacena las entadas diarias de diversos productos, dicha tabla tiene un campo Fecha , y quisiera hacerle un select que me ...
  #1 (permalink)  
Antiguo 11/12/2011, 08:48
 
Fecha de Ingreso: agosto-2011
Ubicación: Cuba, Pinar del Río
Mensajes: 82
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Obtener registros de los últimos 10 dias

Tengo una tabla que almacena las entadas diarias de diversos productos, dicha tabla tiene un campo Fecha, y quisiera hacerle un select que me devuelva el importe de los registros entrados en los últimos 5 días es decir, tengo los registros de esta forma:

Fecha - - - - - - - Producto - - - - - - Importe
2011-12-01 - - - zapatos - - - - - - - 10 $
2011-12-01 - - - pantalones - - - - - 20$
2011-12-02- - - - camisas - - - - - - -15$
2011-12-03 - - - - Gorras - - - - - - - -5$
2011-12-03 - - - - gafas - - - - - - - - -5$
2011-12-04 - - - - medias - - - - - - - -4$
2011-12-05 - - - - perfumes - - - - - --35$
2011-12-06 - - - - pinturas - - - - - - -12$

Y quisiera que la consulta me devolviera:

Fecha - - - - - - - Importe
2011-12-01 - - -30 $
2011-12-02- - - 15$
2011-12-03 - - -10$
2011-12-04 - - - 4$
2011-12-05 - - - 35$

Despúes de devolverme este resultado, los registros serán marcados como devueltos y de esa forma cuando se vuelva ejecutar la consulta no me retornará ya estos valores y me dará los próximos importes de los próximos 5 días.

Espero haberme explicado bien, por favor si alguien pudiera ayudarme con esto.
  #2 (permalink)  
Antiguo 11/12/2011, 09:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Obtener registros de los últimos 10 dias

Código MySQL:
Ver original
  1. SELECT Fecha, Producto, SUM(Importe) Importe
  2. FROM tabla
  3. GROUP BY Fecha;
En el caso de querer que sean importes de los últimos 5 días a partir de una fecha determinada, deberás reemplazar CURDATE() por la fecha deseada.
En el caso de necesitar los 5 días anteriores, es decir, excluyendo el día presente, deberás indicarlo:
Código MySQL:
Ver original
  1. SELECT Fecha, Producto, SUM(Importe) Importe
  2. FROM tabla
  3. GROUP BY Fecha;

Una aclaración: Cuando tienes un rango (tiempo o valores), siempre es mucho más eficiente usar BETWEEN que "X >= Y AND Y<=Z", ya que el algoritmo de resolución que utiliza MySQL internamente no es el mismo, y el del BETWEEN es mucho mejor (sólo lo puedes confirmar por la performance, a menos que quieras leer el código fuente de MySQL).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 11/12/2011 a las 09:19
  #3 (permalink)  
Antiguo 12/12/2011, 15:13
 
Fecha de Ingreso: agosto-2011
Ubicación: Cuba, Pinar del Río
Mensajes: 82
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Obtener registros de los últimos 10 dias

gracias colega, me ha servido tu solución.

Etiquetas: dias, registros, select, tabla
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 18:19.