分解时间段

fangzhouyu 2010-03-30 04:31:11
在一定时间内,按一定时间作为基数(比如一个小时)求出在这个时间段内,各个基数内的某个字段的和
...全文
150 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
htl258_Tony 2010-03-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 fangzhouyu 的回复:]
在一定时间内,按一定时间作为基数(比如一个小时)求出在这个时间段内,各个基数内的某个字段的和
[/Quote]

用时间函数进行规则分组,再求和.
feixianxxx 2010-03-30
  • 打赏
  • 举报
回复
declare @beg_time datetime,@end_time datetime
set @beg_time='2010-03-12 12:00:00'
set @end_time='2010-03-12 18:00:00'
select
SUM_col=SUM(sum_col)
from tb
where [time] between @beg_time and @end_time
group by DATEDIFF(HOUR,'1900-01-01',[time])
bancxc 2010-03-30
  • 打赏
  • 举报
回复

--利用辅助表
declare @b as datetime
declare @e as datetime
select @b='2010-03-12 12:00:00',@e='2010-03-12 18:00:00'
select dateadd(hh,number,@b) as [datetime]
from master..spt_values
where type='p' and dateadd(hh,number,@b) > @b and dateadd(hh,number,@b)<=@e

datetime
-----------------------
2010-03-12 13:00:00.000
2010-03-12 14:00:00.000
2010-03-12 15:00:00.000
2010-03-12 16:00:00.000
2010-03-12 17:00:00.000
2010-03-12 18:00:00.000

(6 行受影响)
fangzhouyu 2010-03-30
  • 打赏
  • 举报
回复
我是想一个语句写出所有分类的数据,比如查找时间为"2010-03-12 12:00:00" 到 "2010-03-12 18:00:00" 基数是1个小时,就要得出6条记录
bancxc 2010-03-30
  • 打赏
  • 举报
回复
dateadd
between and

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧