less than 1 minute read

The Blunder

Samantha was tasked with calculating the average monthly salaries for all employees in the EMPLOYEES table, but did not realize her keyboard’s 0 key was broken until after completing the calculation. She wants your help finding the difference between her miscalculation (using salaries with any zeros removed), and the actual average salary.

Write a query calculating the amount of error (i.e.: actual - miscalculated average monthly salaries), and round it up to the next integer.

Input Format The EMPLOYEES table is described as follows:

Note: Salary is per month.

Constraints 1000 < Salary < 100000

Sample Input

Sample Output

2061

Explanation

The table below shows the salaries without zeros as they were entered by Samantha:

Samantha computes an average salary of 98.00. The actual average salary is 2159.00.

The resulting error between the two calculations is 2159.00 - 98.00 = 2061.00. Since it is equal to the integer 2061, it does not get rounded up.

My solution

SELECT CEIL(AVG(salary)- AVG(TO_NUMBER(REPLACE(TO_CHAR(salary),'0',''))))
FROM EMPLOYEES;

Tags:

Categories:

Updated:

Comments