Select Dinamica tramos horarios

03/04/2004 - 08:50 por Jfmarbau | Informe spam
Gracias por adelantado.

Tengo una tabla con 2 campos:

FECHA KILOS
01/04/2004 08:00:00 500
01/04/2004 08:03:00 350
01/04/2004 08:10:00 700
01/04/2004 08:13:00 600
01/04/2004 08:14:35 650
01/04/2004 08:25:00 700
...
...


Como podria hacer para agrupar y sumar los kilos por un rango de fecha que
yo elija, p.e: 15 mn

01/04/2004 08:00:00 2800
01/04/2004 08:15:00 700
01/04/2004 08:30:00 0

Yo creo que no se puede, pero si alguien conoce como, se le agradecere
eternamente.

PD: Si directamente no se podria hacer en SQL , mi intencion es llevarlo a
excell, ¿En excell se podria?

Gracias otra vez.
 

Leer las respuestas

#1 ulises
03/04/2004 - 16:13 | Informe spam
Dada la información de tu tabla y asumiento que se llama
"moviimentos", puedes probar con el siguiente código :

declare @intervalo int
declare @fechabase datetime
select @intervalo = 15
select @fechabase = '20040401 08:00:00'
select t.grupo,
dateadd(mi,@intervalo*(t.grupo-1),@fechabase) as inicio,
sum(t.kilos)
from ( select ( datediff(mi,@fechabase,fecha) / @intervalo + 1 ) as
grupo, fecha, kilos
from movimientos ) t
group by t.grupo

el resultado sería :

grupo inicio
1 2004-04-01 08:00:00.000 2800
2 2004-04-01 08:15:00.000 700

(2 row(s) affected)

el problema que le veo es que no muestra nada cuando no encuentra
resultados dentro de un intervalo, para ello creo que habría que
agregar una fecha final, tal vez manejar una tabla temporal donde se
ingresen los grupos que no se hayan encontrado en el SELECT inicial
interno y luego recién hacer el SELECT sobre esa tabla temporal, pero
creo que sería un buen ejercicio para que lo realices ... :)

Saludos,
Ulises

On Sat, 3 Apr 2004 08:50:30 +0200, "Jfmarbau"
wrote:

Gracias por adelantado.

Tengo una tabla con 2 campos:

FECHA KILOS
01/04/2004 08:00:00 500
01/04/2004 08:03:00 350
01/04/2004 08:10:00 700
01/04/2004 08:13:00 600
01/04/2004 08:14:35 650
01/04/2004 08:25:00 700
...
...


Como podria hacer para agrupar y sumar los kilos por un rango de fecha que
yo elija, p.e: 15 mn

01/04/2004 08:00:00 2800
01/04/2004 08:15:00 700
01/04/2004 08:30:00 0

Yo creo que no se puede, pero si alguien conoce como, se le agradecere
eternamente.

PD: Si directamente no se podria hacer en SQL , mi intencion es llevarlo a
excell, ¿En excell se podria?

Gracias otra vez.

Preguntas similares