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

SELECT SUM intervaleado o por intervalos.

Estas en el tema de SELECT SUM intervaleado o por intervalos. en el foro de Mysql en Foros del Web. Voy a explicar mas o menos lo que quiero hacer. Ej: Tengo una tabla, 3 campos (id, lluvia,fecha). El id es entero y autoincrementable, la ...
  #1 (permalink)  
Antiguo 24/01/2010, 14:32
Avatar de el_gustavo  
Fecha de Ingreso: mayo-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta SELECT SUM intervaleado o por intervalos.

Voy a explicar mas o menos lo que quiero hacer.
Ej:
Tengo una tabla, 3 campos (id, lluvia,fecha).
El id es entero y autoincrementable, la lluvia es registro de lluvias por horas y las fechas estan en tiempo unix (en enteros).
Si yo quiero saber la cantidad de lluvias en un dia, por ejemplo el 1/1/2009 hago
Código:
 SELECT SUM( lluvia )
FROM tabla
WHERE 
 fecha>=1230768000
AND fecha <1217716600
Listo, obtengo todas las lluvias tal fecha.
Ahora viene la pregunta, si yo quiero obtener las lluvias de cada de dia del mes de enero del 2009, existe alguna forma de hacer la consulta y que me devuelva los resultados de todos los dias del mes?

Es para evitar hacer 30 consultas y hacerlas todas en una sola, se entiende??
Saludos y gracias si pueden ayudarme y sino tambien.
  #2 (permalink)  
Antiguo 24/01/2010, 15:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: SELECT SUM intervaleado o por intervalos.

Algo así:
Código MySQL:
Ver original
  1. SELECT DATE(FROM_UNINIXTIME(fecha)) Dias , SUM( lluvia ) TotalLLuvia
  2. FROM tabla
  3.   MONTH(FROM_UNINIXTIME(fecha))=1
  4.   AND YEAR(FROM_UNINIXTIME(fecha))=2009
  5. GROUP BY DAY(FROM_UNINIXTIME(fecha));
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 24/01/2010, 17:09
Avatar de el_gustavo  
Fecha de Ingreso: mayo-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: SELECT SUM intervaleado o por intervalos.

Genial.!Muchas gracias, no conocia el SELECT DATE, habra que investigar un poco mas.
  #4 (permalink)  
Antiguo 24/01/2010, 17:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: SELECT SUM intervaleado o por intervalos.

En realidad estoy usando una combinación entre DATE(), que devuelve una fecha, y FORM_UNIXTIME(), que convierte una fecha UNIX en un DATE.... De esa forma recupero la discriminación de fechas necesarias.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/02/2010, 07:15
Avatar de el_gustavo  
Fecha de Ingreso: mayo-2009
Mensajes: 117
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: SELECT SUM intervaleado o por intervalos.

Buenas otra vez! Ahora tengo un problema similar, si yo quisiera estos intervalos pero por cada 10 minutos, como seria?
  #6 (permalink)  
Antiguo 03/02/2010, 09:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: SELECT SUM intervaleado o por intervalos.

En primer lugar, crea un tema nuevo si tienes una pregunta. De esa forma sabremos que te estamos contestando a tí y no al creador del post original.
En segundo lugar, postea lo que has hecho y cómo es esa tabla, y veremos cómo se puede hacer en tu caso, porque me huele que se parece a un problema que tuve y la solución que tengo puede ser demasiado compleja...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: intervalos, select, sum
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 12:33.