當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL STDDEV()用法及代碼示例


有時我們需要計算MySQL中表達式的總體標準偏差。
STDDEV()函數可以在MySQL中用於此目的。如果在給定表達式中找不到匹配的行,則返回NULL。

用法:

STDDEV(expr);

參數:此方法僅接受一個參數。

  • expr:我們要根據其計算標準偏差的輸入表達式。

返回值:它返回總體標準偏差。

示例1:
使用STDDEV函數從給定的StudentMarks表中查找sub1mark列的標準偏差。



創建一個StudentMarks表:

CREATE TABLE StudentMarks
(
StudentId INT AUTO_INCREMENT,  
StudentName VARCHAR(100) NOT NULL,
Roll INT NOT NULL,
Sub1Mark INT NOT NULL,
Sub2Mark INT NOT NULL,
Sub3Mark INT NOT NULL,
TotalMarks INT NOT NULL,
PRIMARY KEY(StudentId )
);

將數據插入表中:

INSERT INTO StudentMarks
(StudentName, Roll, Sub1Mark, Sub2Mark, Sub3Mark, TotalMarks)
VALUES
('Amit Jana', 10100, 85, 80, 95, 260),
('Labanya Mallick', 11000, 81, 89, 95, 265),
('Virat Sharma', 12000, 75, 83, 90, 248),
('Sayani Samanta', 13000, 95, 90, 99, 284),
('Riyanka Panda', 14000, 70, 87, 88, 245),  
('Ritika Shah', 15000, 78, 89, 90, 257);

要驗證使用以下命令,如下所示。

SELECT  * from StudentMarks;

輸出:

STUDENTID STUDENTNAME ROLL SUB1MARK SUB2MARK SUB3MARK TOTALMARKS
1 阿米特·賈娜(Amit Jana) 10100 85 80 95 260
2 拉班亞·馬利克(Labanya Mallick) 11000 81 89 95 265
3 維拉特·沙瑪(Virat Sharma) 12000 75 83 90 248
4 薩亞妮·薩曼塔(Sayani Samanta) 13000 95 90 99 284
5 裏揚卡 Pandas 14000 70 87 88 245
6 裏蒂卡·沙(Ritika Shah) 15000 78 89 90 257

現在我們將找到sub1mark列的標準偏差。

SELECT  STDDEV(Sub1Mark) as Sub1StandardDeviation  
FROM StudentMarks;

輸出:

SUB1標準開發
7.930251502246881

示例2

現在,我們將找到總分列的總體標準差。



SELECT  STDDEV(TotalMarks) as StdDevOfTotalMarks  
FROM StudentMarks;

輸出:

STDDEVOFTOTALMARKS
12.772583485297279

示例3:在此示例中,我們將找到在“ XYZ Digital”公司工作的雇員的收入的總體標準差。為了演示,創建一個名為EmloyeeDetails的表。

CREATE TABLE EmployeeDetails(

    Employee_Id INT AUTO_INCREMENT,  
    Employee_Name VARCHAR(100) NOT NULL,
    Working_At VARCHAR(20) NOT NULL,
    Work_Location  VARCHAR(20) NOT NULL,
    Joining_Date DATE NOT NULL,
    Annual_Income INT  NOT NULL,
    PRIMARY KEY(Employee_Id )
);

將數據插入表中:

INSERT INTO  
    EmployeeDetails(Employee_Name, Working_At, Work_Location, Joining_Date, Annual_Income )

VALUES
    ('Amit Khan', 'XYZ Digital', 'Kolkata', '2019-10-06', 350000 ),
    ('Shreetama Pal', 'ABC Corp.', 'Kolkata', '2018-12-16', 500000 ),
    ('Aniket Sharma', 'PQR Soln.', 'Delhi', '2020-01-11', 300000 ),
    ('Maitree Jana', 'XYZ Digital', 'Kolkata', '2019-05-01', 400000 ),
    ('Priyanka Ojha', 'ABC Corp.', 'Delhi', '2019-02-13', 350000 ),
    ('Sayani Mitra', 'XYZ Digital', 'Kolkata', '2019-09-15', 320000 ),
    ('Nitin Dey', 'PQR Soln.', 'Delhi', '2019-10-06', 250000 ),
    ('Sujata Samanta', 'PQR Soln.', 'Kolkata', '2020-10-06', 350000 ),
    ('Sudip Majhi', 'ABC Corp.', 'Delhi', '2018-10-30', 600000 ),
    ('Sanjoy Kohli', 'XYZ Digital', 'Delhi', '2019-04-18', 450000 ) ;

要驗證使用以下命令,如下所示。

Select * FROM EmployeeDetails;

輸出:

EMPLOYEE_ID EMPLOYEE_NAME WORKING_AT WORK_LOCATION JOINING_DATE ANNUAL_INCOME
1 阿米特·汗 XYZ數碼 Kolkata 2019-10-06 350000
2 Shreetama Pal 美國廣播公司 Kolkata 2018-12-16 500000
3 阿妮克特·沙瑪 PQR Soln。 Delhi 2020-01-11 300000
4 瑪雅特·賈娜 XYZ數碼 Kolkata 2019-05-01 400000
5 普裏揚卡·奧哈(Priyanka Ojha) 美國廣播公司 Delhi 2019-02-13 350000
6 沙耶尼米特拉 XYZ數碼 Kolkata 2019-09-15 320000
7 尼丁·戴(Nitin Dey) PQR Soln。 Delhi 2019-10-06 250000
8 Sujata Samanta PQR Soln。 Kolkata 2020-10-06 350000
9 Sudip Majhi 美國廣播公司 Delhi 2018-10-30 600000
10 Sanjoy Kohli XYZ數碼 Delhi 2019-04-18 450000

現在,我們將為在“ XYZ Digital”工作的那些雇員找到年收入的人口標準差。

SELECT  STDDEV(Annual_Income) as StdDevOfAnnualIncome  
FROM EmployeeDetails where WORKING_AT = 'XYZ Digital';

輸出:

STDDEVOFANNUALINCOME
49497.474683058324

相關用法


注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 STDDEV() function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。