24小时热门版块排行榜    

查看: 323  |  回复: 0

xumiao1985

银虫 (小有名气)

[求助] 请各位大神优化下,分不够,我可以加

我一张雨量表,一张配置表,里面大约有500个stcd,雨量表结构类型如下,DTRN指的是1小时雨量
STCD     YMDHM                                      DTRN
71311        2014-12-30 01:00:00.000        0
71903        2014-12-30 01:00:00.000        0
配置表
stcd           stnm               xian               town
71311        岭北周              诸暨市        岭北镇   
71903        通济桥水库          诸暨市        (浦江县)
现在要根据每个stcd找出连续三小时最大雨量(1个值), 然后对这500个stcd,也就是说500个最大值进行排序
我自己的代码入下
use zj_sw1
select t3.xian as '市区',t3.town as '乡镇',t3.stnm as '站名',t1.ymdhm as '开始记录时间', cast(sum(t2.dtrn)as decimal(10,1)) as '雨量'
from st_rnfl_r t1 join st_rnfl_r t2 on t1.stcdt = t2.stcdt and t2.ymdhm between t1.ymdhm and dateadd(hh,2, t1.ymdhm)
left join ST_STINFO_B_A t3 on t1.stcdt=t3.stcdt where t1.ymdhm between '2015-7-1 1:00:00.000' and '2015-8-1 1:00:00.000'
group by  t1.stcdt, t1.ymdhm,t3.stnm,t3.xian,t3.town
order by 雨量 desc,开始记录时间
我这个也能算,但计算量太大,没有跟着我的思路走,有朋友帮忙优化下吗?现在光1个月数据就要1分钟,1年就要大约10来分钟了。
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xumiao1985 的主题更新
信息提示
请填处理意见