STDDEV_SAMP : 該函數計算累積樣本標準偏離,並返回總體變量的平方根
STDDEV與 stddev_samp 的不同之處在於,當計算的輸入數據只有一行時,stddev 返回 0,而
stddev_samp 返回 null*/
計算公式:
select stddev(salary) FROM hr.employees
WHERE department_id =20;--結果爲4949.74746830583
--STDDEV,STDDEV_SAMP
SELECT SQRT(SUM( POWER((SALARY - (SELECT AVG(SALARY) FROM hr.employees
WHERE department_id =20)), 2)
/((SELECT COUNT(1) FROM hr.employees
WHERE department_id =20)-1 )))
FROM hr.employees
WHERE department_id =20;--結果爲4949.74746830583
---STDDEV_POP標準方差
--計算公式
select STDDEV_POP(salary) FROM hr.employees
WHERE department_id =20;--結果爲3500
SELECT SQRT(SUM( POWER((SALARY - (SELECT AVG(SALARY) FROM hr.employees
WHERE department_id =20)), 2)
/((SELECT COUNT(1) FROM hr.employees
WHERE department_id =20))))
FROM hr.employees
WHERE department_id =20;--結果爲3500
/*VAR_POP
功能描述:(Variance Population)該函數返回非空集合的總體變量(忽略 null),VAR_POP
進行如下計算:
(SUM(expr2) - SUM(expr)2 / COUNT(expr)) / COUNT(expr)*/
select var_pop(salary) FROM hr.employees
WHERE department_id =20----結果爲12250000
select count(1)/*COUNT(expr)*/ FROM hr.employees WHERE department_id =20;
select (sum(power(salary,2)) - power(sum(salary),2)/2)/2
FROM hr.employees WHERE department_id =20;----結果爲12250000
/*VAR_SAMP
功能描述:(Variance Sample)該函數返回非空集合的樣本變量(忽略 null),VAR_SAMP 進
行如下計算:
(SUM(expr*expr)-SUM(expr)*SUM(expr)/COUNT(expr))/(COUNT(expr)-1)*/
select var_samp(salary) FROM hr.employees
WHERE department_id =20--結果爲24500000
select count(1)/*COUNT(expr)*/ FROM hr.employees WHERE department_id =20;
select (sum(power(salary,2)) - power(sum(salary),2)/2)/(2-1)
FROM hr.employees WHERE department_id =20--結果爲24500000
/*VARIANCE
功能描述:該函數返回表達式的變量,Oracle 計算該變量如下:
如果表達式中行數爲 1,則返回 0
如果表達式中行數大於 1,則返回 VAR_SAMP*/
select VARIANCE(salary) FROM hr.employees
WHERE department_id =10--表達式中行數爲 1 結果爲0
select VARIANCE(salary) FROM hr.employees
WHERE department_id =20--表達式中行數大於1 結果爲24500000