J'ai une table avec deux champs - datetime
et int
. Je veux faire un group by sur l' datetime
uniquement sur la date d'ignorer les heures et les minutes. L' SELECT
déclaration doit retourner une date qui correspond à la somme de l'int d'une seule journée.
Réponses
Trop de publicités?
JNK
Points
32743
rabudde
Points
3279
SqlHog
Points
1
-- J'aime ce que le type de données et le format reste compatible avec une date de type de données de temps
;with cte as(
select
cast(utcdate as date) UtcDay, DATEPART(hour, utcdate) UtcHour, count(*) as Counts
from dbo.mytable cd
where utcdate between '2014-01-14' and '2014-01-15'
group by
cast(utcdate as date), DATEPART(hour, utcdate)
)
select dateadd(hour, utchour, cast(utcday as datetime)) as UTCDateHour, Counts
from cte