0

データベースに数字の列があります。標準偏差を計算するにはどうすればよいですか? stddev 関数を使用したくありません。

4

2 に答える 2

1

ちょっと気になったので、実際の STDEV() をテストすることにしました。さて、組み込み関数を釘付けにすることができませんでした。

近くにいました... 0.000141009220002264 または 0.00748% オフ

また、Total Average と Count は float に変換する必要があります (分散は decimal の方が大きかった)

以下の例は、私の 10 年利回りの米国債利回り表を追っています (重要ではありません)。

Select SQLFunction = Stdev([TR_Y10]) 
      ,ManualCalc  = Sqrt(Sum(Power(((cast([TR_Y10] as float)-B.TotalAvg)),2) / B.TotalCnt))
      ,Variance    = Stdev([TR_Y10]) - Sqrt(Sum(Power(((cast([TR_Y10] as float)-B.TotalAvg)),2) / B.TotalCnt))
 From [Chinrus-Shared].[dbo].[DS_Treasury_Rates]
 Join (Select TotalAvg=Avg(cast([TR_Y10] as float)),TotalCnt=count(*) From [Chinrus-Shared].[dbo].[DS_Treasury_Rates]) B on 1=1

戻り値

SQLFunction         ManualCalc          Variance
1.88409468982299    1.88395368060299    0.000141009220002264
于 2016-10-09T21:45:42.713 に答える