w3resource

MySQL Aggregate Function Exercises: Get the highest, lowest, sum, and average salary of all employees

MySQL Aggregate Function: Exercise-6 with Solution

Write a query to get the highest, lowest, sum, and average salary of all employees.

Sample table: employees

+-------------+-------------+-------------+----------+--------------------+------------+------------+----------+----------------+------------+---------------+
| EMPLOYEE_ID | FIRST_NAME  | LAST_NAME   | EMAIL    | PHONE_NUMBER       | HIRE_DATE  | JOB_ID     | SALARY   | COMMISSION_PCT | MANAGER_ID | DEPARTMENT_ID |
+-------------+-------------+-------------+----------+--------------------+------------+------------+----------+----------------+------------+---------------+
|         100 | Steven      | King        | SKING    | 515.123.4567       | 1987-06-17 | AD_PRES    | 24000.00 |           0.00 |          0 |   		  90 |
|         101 | Neena       | Kochhar     | NKOCHHAR | 515.123.4568       | 1987-06-18 | AD_VP      | 17000.00 |           0.00 |        100 |            90 |
|         102 | Lex         | De Haan     | LDEHAAN  | 515.123.4569       | 1987-06-19 | AD_VP      | 17000.00 |           0.00 |        100 |            90 |
|         103 | Alexander   | Hunold      | AHUNOLD  | 590.423.4567       | 1987-06-20 | IT_PROG    |  9000.00 |           0.00 |        102 |            60 |
|         104 | Bruce       | Ernst       | BERNST   | 590.423.4568       | 1987-06-21 | IT_PROG    |  6000.00 |           0.00 |        103 |            60 |
|         105 | David       | Austin      | DAUSTIN  | 590.423.4569       | 1987-06-22 | IT_PROG    |  4800.00 |           0.00 |        103 |            60 |
|         106 | Valli       | Pataballa   | VPATABAL | 590.423.4560       | 1987-06-23 | IT_PROG    |  4800.00 |           0.00 |        103 |            60 |
|         107 | Diana       | Lorentz     | DLORENTZ | 590.423.5567       | 1987-06-24 | IT_PROG    |  4200.00 |           0.00 |        103 |            60 |
|         108 | Nancy       | Greenberg   | NGREENBE | 515.124.4569       | 1987-06-25 | FI_MGR     | 12000.00 |           0.00 |        101 |           100 |
.........
|         206 | William     | Gietz       | WGIETZ   | 515.123.8181       | 1987-10-01 | AC_ACCOUNT |  8300.00 |           0.00 |        205 |           110 |
+-------------+-------------+-------------+----------+--------------------+------------+------------+----------+----------------+------------+---------------+

View the table

Code:

-- Calculating various statistics (maximum, minimum, sum, average) for the salary column
SELECT 
    -- Rounding the maximum salary to 0 decimal places and aliasing it as 'Maximum'
    ROUND(MAX(salary), 0) 'Maximum',
    -- Rounding the minimum salary to 0 decimal places and aliasing it as 'Minimum'
    ROUND(MIN(salary), 0) 'Minimum',
    -- Rounding the sum of salaries to 0 decimal places and aliasing it as 'Sum'
    ROUND(SUM(salary), 0) 'Sum',
    -- Rounding the average salary to 0 decimal places and aliasing it as 'Average'
    ROUND(AVG(salary), 0) 'Average'
-- Selecting data from the employees table
FROM employees;

Explanation:

  • This SQL query calculates various statistics (maximum, minimum, sum, average) for the salary column in the employees table.
  • The MAX(), MIN(), SUM(), and AVG() functions are aggregate functions used to find the maximum, minimum, sum, and average values of the specified column (salary in this case).
  • The ROUND() function is used to round the calculated values to 0 decimal places for clarity.
  • Each calculated value is given an alias for better readability in the result set.
  • This query is useful when you want to quickly summarize salary information for all employees .

Pictorial Presentation of the above query

Pictorial: Query to get the highest, lowest, sum, and average salary of all employees.


Go to:


PREV :Write a query to get the average salary and number of employees working the department 90.
NEXT :Write a query to get the number of employees with the same job.

MySQL Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.