您好我需要根据时间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
答案 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)