按功能分组与datetime无法正常工作

时间:2012-01-31 12:08:36

标签: sql-server

您好我需要根据时间stmap

对记录进行分组
datetime column
2011-11-23 06:08:50.000
2011-11-23 06:08:50.000
2011-11-23 06:21:06.000
2011-11-23 06:21:06.000
2011-11-23 06:21:06.000
2011-11-23 07:00:18.000

现在,当我按功能分组时,它显示如下

2011-11-23 06:08:50.000    2
2011-11-23 06:21:06.000    3
2011-11-23 07:00:18.000    1

根据我的结果,我需要得到 2011-11-23 6

4 个答案:

答案 0 :(得分:2)

2008年;

select cast(f as date), count(*) 
from t
group by cast(f as date)

答案 1 :(得分:1)

试试这个:

Group by CONVERT(varchar(13), dateTimeColumn, 121)

这会将时间转换为字符串匹配模式YYYY-MM-DD HH,这似乎是您想要的,例如'2012-01-31 12'

该格式也将以自然的方式进行排序和比较。

对于天数的分辨率,请使用varchar(10),小时varchar(13),分钟,使用varchar(16),秒varchar(19)。基本上你是在相关点截断字符串。

答案 2 :(得分:0)

select Cast(Floor(Cast(DateTimeColumn as float))as datetime), Count(*)
From Yourtable
Group By Cast(Floor(Cast(DateTimeColumn as float))as datetime)

答案 3 :(得分:0)

我愿意

group by day(date_column), month(date_column), year(date_column)

您可以稍后在选择中进行(使用适当的演员):

select  day(date_column)+ '\' + month(date_column) + '\' +  year(date_column)