表中有列:时间,降水
降水记录是5分钟一次,时间长度是1年
我想做20分钟一次的平均,也就是1:05,1:10,1:15,1:20四个数字平均一次,然后1:10,1:15,1:20,1:25平均一次,如此循环下去,直到一年结束。请高手指点,急用啊,在此谢谢各位高手了了!!!
降水记录是5分钟一次,时间长度是1年
我想做20分钟一次的平均,也就是1:05,1:10,1:15,1:20四个数字平均一次,然后1:10,1:15,1:20,1:25平均一次,如此循环下去,直到一年结束。请高手指点,急用啊,在此谢谢各位高手了了!!!
解决方案 »
- 【求助】如何使用C#将多个DataTable中的数据信息读入到同一个Excel的不同sheet中,并重命名sheet表名?
- 请教作业:select语句条件判断能不能成立
- 请教一个在WEB开发中SqlConnection的对象管理问题,因为要将Session保存到SQL服务器中.
- 备份表到excel中??
- 怎样设置登录名 登陆后只能看到和操作一个数据库 这个用户不能看到其他的数据库
- 有关上个月工资的计算问题,没有好的方法,请高手指点!
- 用Create Table语句创建的表在企业管理器中看不到为什么?如何查看远程数据库表的表名和表结构?
- 关于时间的操作
- 请教Sqlserver2000安装包的制作(详细情况)即时高分300!
- 求触发器,简单----偶是来学习并赠分D~~~~~
- sql2000拒绝访问,急!!!在线待
- 插入sql2005数据库,inert 语句中含有单引号,怎么办啊?
--知道起始时间么,假设表是tb,日期时间字段是datedeclare @mindate datetime
select top 1 @mindate = date from tb order by dateselect (datediff(mi,@mindate,date)-1)/20 as date,avg(colName) as avgcol
from tb
group by (datediff(mi,@mindate,date)-1)/20
create table #BaseData(date_time varchar(20),Write int)
insert #BaseData
select '01:00',99
union all
select '01:05',30
union all
select '01:10',46
union all
select '01:15',77
union all
select '01:20',11
union all
select '01:25',76
union all
select '01:30',42
union all
select '01:35',80
union all
select '01:40',20
--- 查看模拟数据
selecT * from #BaseData--- 生成排序列,必将数据转入汇总零时表
selecT ROW_NUMBER()over(order by date_time) sno,* into #Summary from #BaseData
--- 汇总零时表中添加 平均值列
alter table #Summary add AvgWrite float
---4个值求平均,所以初始话4个变量
declare @P1 float,@P2 float,@P3 float,@P4 float
---将平均值保存在AvgWrite列中
update #Summary set @P1=case when sno%4=1 then Write else @P1 end
,@P2=case when sno%4=2 then Write else @P2 end
,@P3=case when sno%4=3 then Write else @P3 end
,@P4=case when sno%4=0 then Write else @P4 end
,AvgWrite=(@P1+@P2+@P3+@P4)/4.0 ---查看最终结果
selecT * from #Summary