2016-04-06 16 views
-1

私はMySQLでは、このテーブルを有する:標準偏差を「数値」列で計算する方法は?

value number_ads 
1  3 
2  1 
3  1 
3  1 
4  1 

Iは、列の値の標準偏差を計算したいが、例えば値1を3回カウントされるべきであることを考慮になります。

結果は次のようになります。

AVG = 2.1429  STD = 1.124858267715973 

私はこの次のリクエストでみましたが、私は良い結果を持っていません。

SELECT 
SUM(value * number_ads)/SUM(number_ads) AS avg, 
SQRT((SUM(POW(value, 2)) - POW(2.1429, 2))/SUM(number_ads)) 
FROM `test` 

答えて

0

は分散の平方根を計算します。分散は、平均の値の平方と平均の平方との差である。すなわち、Sum(x x)/ Count(n) - 平均平均。

SELECT 
SUM(value * number_ads)/SUM(number_ads) AS avg, 
SQRT((SUM(POW(value ,2) * number_ads)/SUM(number_ads)) - avg * avg) 
FROM `test` 

Source

関連する問題