Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

t-sql Agrupar por Hora

476 views
Skip to first unread message

jose

unread,
Sep 25, 2009, 8:34:02 AM9/25/09
to
Buenas, tengo una tabla con la sig. información:

Fecha (DateTime) Cantidad (Int)
20090924 03:45:55 4
20090924 03:54:43 5
20090925 05:11:34 6
20090925 05:15:12 14

Me gustaría hacer un select que agrupe por Dia/Hora,

Fecha (DateTime) Cantidad (Int)
20090924 03:00:00 9
20090925 05:00:00 20

Muchas Gracias

Ruben Garrigos

unread,
Sep 25, 2009, 9:40:03 AM9/25/09
to
Hola jose,

Puedes agrupar por CONVERT(char(13),Fecha,120) para conseguir la agrupaci�n
que indicas.

Un saludo,

Rub�n Garrig�s
Solid Quality Mentors

Blog: http://blogs.solidq.com/es/elrincondeldba

> Buenas, tengo una tabla con la sig. informaci�n:


>
> Fecha (DateTime) Cantidad (Int)
> 20090924 03:45:55 4
> 20090924 03:54:43 5
> 20090925 05:11:34 6
> 20090925 05:15:12 14

> Me gustar�a hacer un select que agrupe por Dia/Hora,

Alejandro Mesa

unread,
Sep 25, 2009, 1:59:01 PM9/25/09
to
jose,

Tambien puedes usar una fecha de referencia y agrupar por la diferencia en
horas contra esa fecha. Ojo con que tengas rangos que puedan caer fuera del
rango de los enteros. La fecha de referencia no tiene porque ser tan
distante, pero eso depende de lo que tu sistema.

select
dateadd([hour], datediff([hour], '19000101', Fecha), '19000101') as F,
count(*) as C
from
T
group by
datediff([hour], '19000101', Fecha)
order by
F;
GO


AMB

0 new messages