SQL分类汇总时间字段问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 14:44:18
我数据库里现在字段是这样的2008-10-1 12:27:42
我想对其字段进行分类汇总
但是由于有时分秒没办法分类
比如
2008-10-1 12:27:42
2008-10-1 13:24:42
这样就没办法分类了
我想要的效果是这样也能分类
是不是应该字符串截取下?

高手给写个SQL语句吧~!

先截掉后面的.为结果集生成新的一临时列.
再针对这个结果集进行处理就可以了.
如有一个表myTable有id,MyDate(int ,datetime)两例
那么通过对日期分组统计id的个数:
select tempDate,count(*) from(select *,CONVERT(varchar(20),MyDate, 23) tempDate from myTable) temp group by tempDate

其中temp 是为新结果集命名,它添加了临时辅助列tempDate
所以新的结果集就成了
id,MyDate,TempDate
1,2008-10-1 12:27:42 ,2008-10-1
2,2008-10-1 12:27:12 ,2008-10-1
在新结果集的基础下,进行以TempDate分组就容易多了

declare @datetime datetime
set @datetime = '2008-10-1 12:27:42 '
select cast(Year(@datetime) as varchar(4))+'-'+cast(Month(@datetime) as varchar(2))+'-'+cast(Day(@datetime) as varchar(2))

你把时间按升序排列不行? 如果你想按分秒来分组的话,使用datepart()取了单个时间分就行了。例如:取秒的话 datepart(mm,时间字段) 就可以取出该时间字段所有的秒 在group by datepart(mm,时间字段) order by datepart(mm,时间字段) 就行了