MySQL - 標準差

Table of content


MySQL 標準差函式是用於計算資料集內值之間變化或離散程度的數學函式。

MySQL 中有兩種標準差,分別是總體標準差和樣本標準差。

“總體標準差”是一組資料的方差的平方根。它計算總體內的變化或離散程度。符號上用 σ(希臘字母 sigma)表示。

要計算總體標準差,可以使用以下函式:

  • STD(表示式): 它計算並返回特定列中欄位的總體標準差。如果指定的行不存在,則此函式返回 NULL。

  • STDDEV(表示式): 與 STD() 函式相同,但它也適用於 Oracle 資料庫。

  • STDDEV_POP(表示式): 等效於 STD() 函式。

以下是計算“總體標準差”的數學公式:

// Mathematical Formula
$\sigma = \sqrt{\frac{\sum_{i=1}^n{(x-\bar x)^2}}{N-1}}$

其中,

  • σ = 總體標準差

  • N = 總體大小

  • Xi = 總體中的每個值

  • meu = 總體平均值

示例

首先,讓我們使用 CREATE 語句建立一個名為 CUSTOMERS 的表,如下所示:

CREATE TABLE CUSTOMERS (
   ID INT NOT NULL,
   NAME VARCHAR(15) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS VARCHAR(25),
   SALARY DECIMAL(10, 2),
   PRIMARY KEY(ID)
);

現在,讓我們使用 INSERT 語句將值插入 CUSTOMERS 表:

INSERT INTO CUSTOMERS VALUES 
(1, 'Ramesh', '32', 'Ahmedabad', 2000),
(2, 'Khilan', '25', 'Delhi', 1500),
(3, 'Kaushik', '23', 'Kota', 2000),
(4, 'Chaitali', '26', 'Mumbai', 6500),
(5, 'Hardik','27', 'Bhopal', 8500),
(6, 'Komal', '22', 'Hyderabad', 9000),
(7, 'Muffy', '24', 'Indore', 5500);

表建立如下:

ID 姓名 (NAME) 年齡 (AGE) 地址 (ADDRESS) 工資 (SALARY)
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

STD() 函式

以下查詢計算所有球員在表演賽中的得分的總體標準差:

SELECT STD(AGE) from CUSTOMERS;

輸出

以下是輸出:

STD(AGE)
3.063944369932459

STDDEV() 函式

STDDEV() 函式與 STD() 函式相同,但它也適用於 Oracle 資料庫。

在以下查詢中,我們正在計算“Score_In_Exhibition_Match”列的總體標準差:

SELECT STDDEV(AGE) FROM CUSTOMERS;

輸出

輸出如下:

STDDEV(AGE)
3.063944369932459

STDDEV_POP() 函式

在 MySQL 中,STDDEV_POP() 函式等效於 STD() 函式。在這裡,我們正在對 CUSTOMERS 表的 AGE 列執行總體標準差。

SELECT STDDEV_POP(AGE) FROM CUSTOMERS;

輸出

輸出顯示如下:

STDDEV_POP(AGE)
3.063944369932459

樣本標準差

MySQL 標準差是方差的平方根,它計算資料的分散或展開程度。

STDDEV_SAMP() 函式用於計算列中一組值的樣本標準差。

以下是計算“樣本標準差”的公式:

// Mathematical formula
s = sqrt(sum((x - mean)^2) / (n - 1))

示例

在下面的示例中,讓我們計算前面建立的 CUSTOMERS 表的 AGE 列的樣本標準差:

SELECT STDDEV_SAMP(AGE) FROM CUSTOMERS;

輸出

輸出顯示如下:

STDDEV_SAMP(AGE)
3.309438162646486
廣告