sql server 2005 select update 复杂计算 批量更新
表结构如上图:ID,日期,代码,开盘,最高,最低,振幅3
求:前三日的振幅,并批量更新。
算法:代码相同,按日期排序,向前取三条,从最高里面找到最大的数,从最低里面找到最小的数。
(最高 - 最低) / 开盘 = 振幅。开盘是当前行固定向前数三行的开盘值。
以更新第4条为例:
(9 - 1) / 1 = 第4条的振幅
注意:需要加判断,如果向前找不够3行,直接返回NULL。
100分跪求高手解答!
sql server 2005 select update 复杂计算 批量更新
表结构如上图:ID,日期,代码,开盘,最高,最低,振幅3
求:前三日的振幅,并批量更新。
算法:代码相同,按日期排序,向前取三条,从最高里面找到最大的数,从最低里面找到最小的数。
(最高 - 最低) / 开盘 = 振幅。开盘是当前行固定向前数三行的开盘值。
以更新第4条为例:
(9 - 1) / 1 = 第4条的振幅
注意:需要加判断,如果向前找不够3行,直接返回NULL。
100分跪求高手解答!