Thread: variance aggregate function incorrect? Reference Materials reg create aggregate

hi
i needed the variance function ... i dont know if i introduced the wrong
parameters or maybe this variance is not the variance that im looking
for but it doesnt provide the right results

variance=(nEx^2 - (Ex)^2)/(n(n-1))
my sql statement
select variance(answer) from tbl_answer (where answer is of type
integer)

because of this i need to create my own variance aggregate (unless
someone enlightens me on whats happening with the variance aggregate) so
i would like to know if theres anyone who knows a good create aggregate
tutorial (with samples) ... all i got from google so far is the
reference from ninthwonder.com
TIA








Joseph Syjuco <joseph@asti.dost.gov.ph> writes:
> i needed the variance function ... i dont know if i introduced the wrong
> parameters or maybe this variance is not the variance that im looking
> for but it doesnt provide the right results

> variance=(nEx^2 - (Ex)^2)/(n(n-1))

That's what I'd expect it to do, all right.  Please define "doesnt
provide the right results".
        regards, tom lane




Re: variance aggregate function incorrect? Reference Materials

From
Bruce Momjian
Date:
Joseph Syjuco wrote:
> hi
> i needed the variance function ... i dont know if i introduced the wrong
> parameters or maybe this variance is not the variance that im looking
> for but it doesnt provide the right results
> 
> variance=(nEx^2 - (Ex)^2)/(n(n-1))
> my sql statement
> select variance(answer) from tbl_answer (where answer is of type
> integer)
> 
> because of this i need to create my own variance aggregate (unless
> someone enlightens me on whats happening with the variance aggregate) so
> i would like to know if theres anyone who knows a good create aggregate
> tutorial (with samples) ... all i got from google so far is the
> reference from ninthwonder.com

Uh, I tried this:
test=> select variance(relnatts) from pg_class;   variance    --------------- 24.4259169884(1 row)

Not sure if it is the right number or not.  Have you tried taking the
square root and see if that number is correct.

The docs say:
      The variance is the square of the standard deviation.  The      supported data types and result types are the
sameas for      standard deviation.
 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026