2013-04-09 79 views
1

我知道这是一个常见的问题,但我找不到符合我的情况的东西。所以,我们走了。小组由24小时和星期 - 时间间隔

我有一个名为RECORDED_ENTRIES的表,它具有列ID(int)和CreateDate(datetime)。

无论实际日期如何,我想按24小时为单位按小时分组数据。

例如,我想输出是:

00:00 - 2 
01:00 - 3 
02-00 - 12 
.... 
23:00 - 1 

的目的是为一个图表,将一天中的小时显示记录条目创建数据

我需要组还数据由天的名字。

感谢

+0

日趋不够好分组?还是必须是当前时间的确切24小时时间? – 2013-04-09 09:24:35

+0

实际上,我将需要两个:)我要求24小时的时间间隔,然后我想我可以弄清楚如何在一天的分组工作。但任何帮助表示赞赏 – MaVRoSCy 2013-04-09 09:29:30

+0

对于上述问题,我不需要按日期分组。你看,我有不同日子记录的条目。所以我想得到这样的趋势(当天大部分参赛作品的录制时间等) – MaVRoSCy 2013-04-09 09:31:34

回答

2

你想要的是:

GROUP BY DATEPART(HH,CreateDate) 

SQLFiddle

+0

哦,是的,这就是我想要的!将结果按日期名称而不是按小时分组? – MaVRoSCy 2013-04-09 09:37:03

+0

@MaVRToSCy请检查DATEPART功能。它具有所有选项来获取Datetime的不同部分 - http://msdn.microsoft.com/en-us/library/ms174420.aspx – 2013-04-09 09:38:54

+0

@MaVRoSCy DATEPART(周日,CreateDate)或DATEPART(dw,CreateDate)是为星期。返回值取决于使用SET DATEFIRST设置的值。 (无论是星期日还是星期一) – 2013-04-09 09:42:40