首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算Server中的移动范围(没有数组)

计算Server中的移动范围(没有数组)
EN

Stack Overflow用户
提问于 2009-10-12 14:44:59
回答 1查看 1.9K关注 0票数 7

我需要计算SQL Server中数据负载的移动范围(至少我认为这就是它的名称)。如果我可以使用数组,这会很容易,但我知道这对于MS是不可能的,所以想知道是否有人有建议。

想让你知道我需要什么:

假设我在sql server表中有以下内容:

代码语言:javascript
复制
1  
3  
2  
6  
3  

我需要得到每一个数字的差额(按顺序排列),即:

代码语言:javascript
复制
|1-3|=2  
|3-2|=1  
|6-2|=4  
|3-6|=3  

然后把这些做好:

代码语言:javascript
复制
2^2=4  
1^2=1  
4^2=16  
3^2=9  

编辑:可能值得注意的是,对于移动平均值,您不需要对这些进行平方--我错了,

然后把它们加在一起:

代码语言:javascript
复制
4+1+16+9=30  

然后除以值的数目:

代码语言:javascript
复制
30/5=6  

然后平方根如下:

代码语言:javascript
复制
2.5(ish)  

编辑:因为您没有对它们进行平方,所以您也没有对它们进行排序()。

如果有人能帮我走出第一步,那就太好了--我可以自己做剩下的事。

还有几件事要考虑到:

  • 使用SQL Server
  • 中的存储过程有相当多的数据(100或1000 s的值),需要每天或每周计算

在此之前,非常感谢您。

~鲍勃

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-12 14:51:31

代码语言:javascript
复制
WITH    nums AS
        (
        SELECT  num, ROW_NUMBER() OVER (ORDER BY id) AS rn
        FROM    mytable
        )
SELECT  SQRT(AVG(POWER(tp.num - tf.num, 2)))
FROM    nums tp
JOIN    nums tf
ON      tf.rn = tp.rn + 1
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1554985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档