使用oracle来计算方差及标准差
/* Formatted on 5/24/2012 4:15:58 PM (QP5 v5.149.1003.31008) */
SELECT deptno,
ename, --st_name || ' ' || last_name employee_name,
hiredate,
sal,
STDDEV (sal) OVER (PARTITION BY deptno ORDER BY hiredate) AS "STDDEV", --标准差
STDDEV_SAMP (sal) OVER (PARTITION BY deptno ORDER BY hiredate)
AS "STDDEV_SAMP", --样本标准差
VAR_POP (sal) OVER (PARTITION BY deptno ORDER BY hiredate) 说明:VAR_POP 为函数, sal为要求的数据列, 以‘deptno’为分组的根据,即满足这个条件下才进行方差的操作,最后根据‘hiredate’进行排序。
AS "VAR_POP", --方差
VAR_SAMP (sal) OVER (PARTITION BY deptno ORDER BY hiredate)
AS "VAR_SAMP" --样本方差
FROM scott.emp
WHERE deptno IN (20);
/* Formatted on 5/24/2012 4:15:58 PM (QP5 v5.149.1003.31008) */
SELECT deptno,
STDDEV (sal) AS "STDDEV", --标准差
STDDEV_SAMP (sal)
AS "STDDEV_SAMP", --样本标准差
VAR_POP (sal)
AS "VAR_POP", --方差
VAR_SAMP (sal)
AS "VAR_SAMP" --样本方差
FROM scott.emp
group by deptno