2016-12-21 29 views
0

私は異なる人の重みを持っています。MySQL:標準偏差を計算する正しい方法

平均である:

select avg(weight) as avg_weight 
from table; 

しかしstddev()std()の違いは何ですか? avg_weightからの標準偏差を得ることは可能ですか?

select stddev(weight) 
from table; /* -> is here where the function avg(weight) included? */ 

または私はこのような何か必要です:

select stddev(avg(weight)) 
from table; /* (but this does not work) */ 

感謝を

は、これは正しい方法です。

+0

この質問c ouldにはあまりにも多くの答えがあります。なぜあなたはここからそれを読まないのですか:http:// www。mysqltutorial.org/mysql-standard-deviation/ – CodeLikeBeaker

+0

これが正しいかどうかを教えてください。 テーブルからstddev(weight)を選択してください。 – Melisa

答えて

1

MySQLでは、標準偏差に関連する4つの異なる機能を提供します。それらは、2つのSTDDEV_POPおよびSTDDEV_SAMP(集団対サンプルS.D.)のみを提供することができた。これらは、標準SQL(STD)とOracle(STDDEV)との互換性のために、他の2つを提供します。ここ

MySQL manualから説明である:exprの母標準偏差を返し

STD(expr)は

。これは標準SQLの拡張です。標準のSQL関数STDDEV_POP()を代わりに使用することができます。

一致する行がない場合、STD()はNULLを返します。

STDDEV(expr)は

exprの母標準偏差を返します。この機能は、Oracleとの互換性のために提供されています。標準のSQL関数STDDEV_POP()を代わりに使用することができます。

一致する行がない場合、STDDEV()はNULLを返します。

STDDEV_POP(expr)は

exprの母標準偏差(VAR_POPの平方根を())を返します。 STD()またはSTDDEV()を使用することもできますが、これらは標準のSQLではなく同等です。

一致する行がない場合、STDDEV_POP()はNULLを戻します。 exprの試料標準偏差(VAR_SAMPの平方根()を返し

STDDEV_SAMP(expr)は

一致する行がない場合、STDDEV_SAMP()はNULLを返す。

0

AVGはSTD内で使用することも、他の集計関数を使用することもできません。

SELECT 
AVG(table.column) AS average_, 
STD(table.column) AS std_, 
etc.... 
FROM 
table; 
関連する問題