salvica
15-12-2008, 01:31:27
Hola a tod@s, de nuevo complicándome la vida ;)
Introducción:
Tengo una tabla con los siguientes campos:
- CLAVE --> la clave ;)
- FECHA --> la fecha del registro (año/mes/dia)
- HORA ---> la hora del mismo (hora/minutos/segundos)
(MySql, Zeos y D7)
Problema:
Necesito sacar la suma de los valores de un intervalo de tiempo (por ejemplo 5 minutos) para luego hacer otros cálculos, osea:
HORA_ORIGEN VALOR DESDE HASTA DEBE SACAR
=========== ====== ======== ======== ==========
00:00:00 0 00:00:00 00:05:00 0
00:01:00 0 00:01:00 00:06:00 100
00:02:00 0 00:02:00 00:07:00 190
00:03:00 0 00:03:00 00:08:00 240
00:04:00 0 00:04:00 00:09:00 270
00:05:00 0 00:05:00 00:10:00 270
00:06:00 100 00:06:00 00:11:00 270
00:07:00 90 00:07:00 00:12:00 180
00:08:00 50 00:08:00 00:13:00 90
00:09:00 30 00:09:00 00:14:00 40
00:10:00 0 00:10:00 00:15:00 30
00:11:00 0 00:11:00 00:16:00 0
00:12:00 10 00:12:00 00:17:00 30
00:13:00 0 00:13:00 00:18:00 20
00:14:00 0 00:14:00 00:19:00 0
00:15:00 20 00:15:00 00:20:00 20
... siguen ceros
Para ello hago (bueno, quisiera hacer, porque saca datos donde deben haber cero)
1º - Saco todos los registros de la tabla (select principal)
2º - Para cada hora anterior, la suma de aquellos comprendidos entre esa hora y el intervalo (todo en minutos)
SELECT clave, fecha, hora,
(SELECT SUM(valor)
FROM tabla AS p
WHERE (MINUTE(p.hora) BETWEEN MINUTE(origen.hora) AND (MINUTE(origen.hora)+5))
) AS pluvio
FROM tabla AS origen
¿Donde estoy metiendo "la pataza"?
Gracias por la ayuda
Salvica
Introducción:
Tengo una tabla con los siguientes campos:
- CLAVE --> la clave ;)
- FECHA --> la fecha del registro (año/mes/dia)
- HORA ---> la hora del mismo (hora/minutos/segundos)
(MySql, Zeos y D7)
Problema:
Necesito sacar la suma de los valores de un intervalo de tiempo (por ejemplo 5 minutos) para luego hacer otros cálculos, osea:
HORA_ORIGEN VALOR DESDE HASTA DEBE SACAR
=========== ====== ======== ======== ==========
00:00:00 0 00:00:00 00:05:00 0
00:01:00 0 00:01:00 00:06:00 100
00:02:00 0 00:02:00 00:07:00 190
00:03:00 0 00:03:00 00:08:00 240
00:04:00 0 00:04:00 00:09:00 270
00:05:00 0 00:05:00 00:10:00 270
00:06:00 100 00:06:00 00:11:00 270
00:07:00 90 00:07:00 00:12:00 180
00:08:00 50 00:08:00 00:13:00 90
00:09:00 30 00:09:00 00:14:00 40
00:10:00 0 00:10:00 00:15:00 30
00:11:00 0 00:11:00 00:16:00 0
00:12:00 10 00:12:00 00:17:00 30
00:13:00 0 00:13:00 00:18:00 20
00:14:00 0 00:14:00 00:19:00 0
00:15:00 20 00:15:00 00:20:00 20
... siguen ceros
Para ello hago (bueno, quisiera hacer, porque saca datos donde deben haber cero)
1º - Saco todos los registros de la tabla (select principal)
2º - Para cada hora anterior, la suma de aquellos comprendidos entre esa hora y el intervalo (todo en minutos)
SELECT clave, fecha, hora,
(SELECT SUM(valor)
FROM tabla AS p
WHERE (MINUTE(p.hora) BETWEEN MINUTE(origen.hora) AND (MINUTE(origen.hora)+5))
) AS pluvio
FROM tabla AS origen
¿Donde estoy metiendo "la pataza"?
Gracias por la ayuda
Salvica