我需要计算SQL Server中数据负载的移动范围(至少我认为这就是它的名称)。如果我可以使用数组,这会很容易,但我知道这对于MS是不可能的,所以想知道是否有人有建议。
想让你知道我需要什么:
假设我在sql server表中有以下内容:
1
3
2
6
3 我需要得到每一个数字的差额(按顺序排列),即:
|1-3|=2
|3-2|=1
|6-2|=4
|3-6|=3 然后把这些做好:
2^2=4
1^2=1
4^2=16
3^2=9 编辑:可能值得注意的是,对于移动平均值,您不需要对这些进行平方--我错了,
然后把它们加在一起:
4+1+16+9=30 然后除以值的数目:
30/5=6 然后平方根如下:
2.5(ish) 编辑:因为您没有对它们进行平方,所以您也没有对它们进行排序()。
如果有人能帮我走出第一步,那就太好了--我可以自己做剩下的事。
还有几件事要考虑到:
。
在此之前,非常感谢您。
~鲍勃
发布于 2009-10-12 14:51:31
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 + 1https://stackoverflow.com/questions/1554985
复制相似问题