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.

Preguntas similare

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.

Respuesta Responder a este mensaje
#2 Manuel Etcheto
08/04/2004 - 03:43 | Informe spam
Hola
Probá esto a ver si es lo que necesitas

SELECT fechamod, SUM(kilos) FROM
(SELECT CASE WHEN DATEPART(mi, fecha) < 15 THEN
CONVERT(datetime, FLOOR(CAST (fecha as FLOAT)))
WHEN DATEPART(mi, fecha) < 30 THEN
DATEADD(mi, 15, CONVERT(datetime, FLOOR(CAST (fecha as
FLOAT))))
WHEN DATEPART(mi, fecha) < 45 THEN
DATEADD(mi, 30, CONVERT(datetime, FLOOR(CAST (fecha as
FLOAT))))
ELSE
DATEADD(mi, 45, CONVERT(datetime, FLOOR(CAST (fecha as
FLOAT))))
END as fechamod, kilos
FROM fechakilos --WHERE tu condición--
)as T
GROUP BY fechamod


2004-04-01 00:00:00.000 2800
2004-04-01 00:15:00.000 700

Suerte
Manuel




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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida