MySQL - STDDEV_POP() 函式



標準差是專案與其平均值的平方偏差的平均值的平方根。用符號表示為σσ。它分為兩種型別:總體標準差、樣本標準差。

MySQL STDDEV_POP() 函式計算並返回特定列中欄位的總體標準差。如果指定的行不存在,則此函式返回NULL。此函式的結果將是VAR_POP()的平方根。

語法

以下是 MySQL STDDEV() 函式的語法:

STDDEV_POP(expr);

引數

此方法接受一個引數。下面描述了它:

  • expr: 我們要計算標準差的表示式或特定列。

返回值

此函式計算並返回特定列中行的總體標準差。

示例

在以下查詢中,我們使用 CREATE TABLE 語句建立一個名為CUSTOMERS的表,如下所示:

CREATE TABLE CUSTOMERS (
   ID INT AUTO_INCREMENT,
   NAME VARCHAR(20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

以下查詢將 7 條記錄新增到上面建立的表中:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES 
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );

要驗證是否插入了記錄,請執行以下查詢:

Select * From CUSTOMERS;

以下是 CUSTOMERS 表:

ID 姓名 年齡 地址 薪資
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

在這裡,我們使用 MySQL STDDEV_POP() 函式來計算所有客戶薪資的總體標準差:

SELECT STDDEV_POP(SALARY) From CUSTOMERS;

輸出

這將產生以下結果:

STDDEV_POP(SALARY)
3162.2776601683795

查詢的結果將為 NULL,因為 CUSTOMERS 表中沒有 ID 等於 15 的記錄:

SELECT STDDEV(SALARY) From CUSTOMERS
WHERE ID = 15;

輸出

這將產生以下結果:

STDDEV(SALARY)
NULL
廣告