Fro*_*III 7 sql-server arrays statistics
我需要在SQL Server中计算一堆数据的移动范围(至少我认为这就是它的名称).如果我可以使用数组,这将很容易,但我知道这对于MS SQL是不可能的,所以想知道是否有人有建议.
为了让您了解我的需求:
可以说我在sql server表中有以下内容:
1
3
2
6
3
Run Code Online (Sandbox Code Playgroud)
我需要得到每个数字的差异(按顺序),即:
|1-3|=2
|3-2|=1
|6-2|=4
|3-6|=3
Run Code Online (Sandbox Code Playgroud)
然后说这些:
2^2=4
1^2=1
4^2=16
3^2=9
Run Code Online (Sandbox Code Playgroud)
编辑:可能值得注意的是你不要为了平均移动而这些 - 我错了
总结一下:
4+1+16+9=30
Run Code Online (Sandbox Code Playgroud)
然后除以值的数量:
30/5=6
Run Code Online (Sandbox Code Playgroud)
然后平方根:
2.5(ish)
Run Code Online (Sandbox Code Playgroud)
编辑:因为你正在努力平息他们,你要小心他们
如果有人能在第一步帮助我,那就太棒了 - 我自己可以做其余的事.
还有一些需要考虑的事项:
- 在SQL Server中使用存储过程
- 有相当多的数据(100或1000的值),它们需要每天或每周进行一次计算
提前谢谢了.
〜鲍勃
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1607 次 |
最近记录: |