문제
Samantha was tasked with calculating the average monthly salaries for all employees in the EMPLOYEES table, but did not realize her keyboard's 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 < 10^5
https://www.hackerrank.com/challenges/the-blunder/problem?isFullScreen=true
예시
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.
문제 풀이
SELECT CEIL(AVG(salary) - AVG(REPLACE(CAST(salary AS CHAR), 0, '')))
FROM employees
SQL을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.