2016-04-06 16 views
-1

MySQL bu tablo vardır:Standart sapmayı bir "sayı" sütunuyla nasıl hesaplarsınız?

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

Sütun değerinin standart sapmayı hesaplamak için gibi, ama örneğin değeri 1 ila 3 kez sayılabilir gerektiği göz önüne alınarak olacaktır. Bunu izleyen isteği ile çalıştı

AVG = 2.1429  STD = 1.124858267715973 

ama iyi bir sonuç yok:

sonucu olmalıdır

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

cevap

0

varyansın karekökü hesaplayın. Varyans (ortalama değerler karesi) ile ortalama i.e'nin karesi arasındaki farktır. (X x)/Sayı (n) - Ortalama Ortalama.

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

İlgili konular