分组排列.txt
来自「SQL语言常用的一些命令各代码」· 文本 代码 · 共 35 行
TXT
35 行
有表A:
Date Value
2006-6-1 01:00:00 1
2006-6-1 01:15:00 1
2006-6-1 01:30:00 2
2006-6-1 01:45:00 2
2006-6-1 02:00:00 3
2006-6-1 02:15:00 3
2006-6-1 02:30:00 4
2006-6-1 02:45:00 4
...........
现在要将其按小时汇总到表B里去:
Date Value
2006-6-1 01:00:00 6
2006-6-1 02:00:00 14
表B的value 为表A的一小时内的所有值的累加,表A的统计频率不定,可能是15分钟,可能是5分钟,但不超过1小时。
/*解答*/
declare @A table(Date datetime,Value int)
insert into @A select '2006-6-1 01:00:00',1
union all select '2006-6-1 01:15:00',1
union all select '2006-6-1 01:30:00' , 2
union all select '2006-6-1 01:45:00' , 2
union all select '2006-6-1 02:00:00' , 3
union all select '2006-6-1 02:15:00' , 3
union all select '2006-6-1 02:30:00' , 4
union all select '2006-6-1 02:45:00' , 4
/*进行分组查询,用convert(varchar(13),Date,121)分组*/
select convert(varchar(13),Date,121)+':00:00'as Date, sum(Value) as count from @A
group by convert(varchar(13),Date,121)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?