sql-server – 计算SQL Server中的移动范围(不带数组)
发布时间:2020-12-12 07:01:24 所属栏目:MsSql教程 来源:网络整理
导读:我需要在SQL Server中计算一堆数据的移动范围(至少我认为这就是它的名称).如果我可以使用数组,这将很容易,但我知道这对于MS SQL是不可能的,所以想知道是否有人有建议. 为了让您了解我的需求: 可以说我在sql server表中有以下内容: 1 3 2 6 3 我需要得到每个
我需要在SQL Server中计算一堆数据的移动范围(至少我认为这就是它的名称).如果我可以使用数组,这将很容易,但我知道这对于MS SQL是不可能的,所以想知道是否有人有建议.
为了让您了解我的需求: 可以说我在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) 编辑:因为你正在努力平息他们,你要小心他们 如果有人能在第一步帮助我,那就太棒了 – 我自己可以做其余的事. 还有一些需要考虑的事项: 提前谢谢了. ?鲍勃 解决方法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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |