VARIANCE() function in MySQL
Sometimes we need to calculate population Standard variance of an expression in MySQL. VARIANCE() function can be used for this purpose in MySQL. It returns NULL if in the given expression no matching rows are found.
Syntax :
VARIANCE(expr);
Parameter : This method accepts only one parameter.
- expr: Input expression from which we want to calculate standard variance.
Returns : It returns the population standard variance.
Example-1 :
Finding standard variance of sub1mark column from the given StudentMarks table using VARIANCE Function.
Creating a StudentMarks table :
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 ) );
Inserting data into the Table :
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);
To verify used the following command as follows.
SELECT * from StudentMarks;
Output :
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 | Riyanka Panda | 14000 | 70 | 87 | 88 | 245 |
6 | Ritika Shah | 15000 | 78 | 89 | 90 | 257 |
Now we are going to find standard variance of sub1mark column.
SELECT VARIANCE(Sub1Mark) as Sub1Variance FROM StudentMarks;
Output :
SUB1VARIANCE |
---|
62.88888888888891 |
Example-2
Now we are going to find standard variance of total marks column.
SELECT VARIANCE(TotalMarks) as VarianceOfTotalMarks FROM StudentMarks;
Output :
VARIANCEOFTOTALMARKS |
---|
163.13888888888877 |
Example-3 : In this example we are going to find the population standard variance of Income of Employee who are working in the company ‘ABC Corp.’ To demonstrate create a table named 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 ) );
Inserting data into the Table :
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 ) ;
To verify used the following command as follows.
Select * FROM EmployeeDetails;
Output :
EMPLOYEE_ID | EMPLOYEE_NAME | WORKING_AT | WORK_LOCATION | JOINING_DATE | ANNUAL_INCOME |
---|---|---|---|---|---|
1 | Amit Khan | XYZ Digital | Kolkata | 2019-10-06 | 350000 |
2 | Shreetama Pal | ABC Corp. | Kolkata | 2018-12-16 | 500000 |
3 | Aniket Sharma | PQR Soln. | Delhi | 2020-01-11 | 300000 |
4 | Maitree Jana | XYZ Digital | Kolkata | 2019-05-01 | 400000 |
5 | Priyanka Ojha | ABC Corp. | Delhi | 2019-02-13 | 350000 |
6 | Sayani Mitra | XYZ Digital | 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 | ABC Corp. | Delhi | 2018-10-30 | 600000 |
10 | Sanjoy Kohli | XYZ Digital | Delhi | 2019-04-18 | 450000 |
Now we are going to find population standard variance of annual Income for those Employee who are working in ‘ABC Corp.’
SELECT 'ABC Corp.' AS 'Company_Name', VARIANCE(Annual_Income) as VarianceOfAnnualIncome FROM EmployeeDetails where WORKING_AT = 'ABC Corp.';
Output :
COMPANY_NAME | VARIANCEOFANNUALINCOME |
---|---|
ABC Corp. | 10555555555.555557 |
Contact Us