stddev

StdDev返回expr的樣本標準偏差。它可用作聚集和分析函式。它與stddev_samp的不同之處在於,當計算的輸入數據只有一行時,stddev返回0,而stddev_samp返回null。

一、StdDev函式

StdDev返回expr的樣本標準偏差。它可用作聚集和分析函式。它與stddev_samp的不同之處在於,當計算的輸入數據只有一行時,stddev返回0,而stddev_samp返回null。

Oracle資料庫中,標準偏差計算結果與variance用作集聚函式計算結果的平方根相等。該函式參數可取任何數字類型或是任何能隱式轉換成數字類型的非數字類型。函式返回類型與函式參數類型相同,都為數字類型。

下面的例子返回hr.employees表中薪水的標準偏差:

SELECT STDDEV(salary) "Deviation" FROM employees;

Deviation

----------

3909.36575

下面的查詢示例返回hr.employees表中部門30按照hire-date排序後薪水的累積標準偏差:

SELECT last_name, salary, STDDEV(salary) over(ORDER BY hire_date) "StdDev"

FROM employees

WHERE department_id = 30;

LAST_NAME SALARY StdDev

------------------------- ---------- -----------------

Raphaely 11000 0

Khoo 3100 5586.14357

Tobias 2800 4650.0896

Baida 2900 4035.26125

Himuro 2600 3649.2465

Colmenares 2500 3362.58829

二、與Variance函式的區別

Variance返回expr的方差。它可用作聚集或分析函式。

Oracle資料庫按照下面原則計算expr的方差:

若符合expr的行數為1,則返回0

若符合expr的行數大於1,則返回var_samp。

該函式參數可取任何數字類型或是任何能隱式轉換成數字類型的非數字類型。函式返回類型與函式參數類型相同,都為數字類型。

下面的例子計算employees表中所有薪水的方差:

SELECT VARIANCE(salary) "Variance" FROM employees;

Variance

----------

15283140.5

下面的例子返回部門30按僱傭日期排序的薪水值的累計方差:

SELECT last_name,

salary,

VARIANCE(salary) over(ORDER BY hire_date) "Variance"

FROM employees

WHERE department_id = 30;

LAST_NAME SALARY Variance

--------------- ---------- ----------

Raphaely 11000 0

Khoo 3100 31205000

Tobias 2800 21623333.3

Baida 2900 16283333.3

Himuro 2600 13317000

Colmenares 2500 11307000

相關詞條

相關搜尋

熱門詞條

聯絡我們