[MSSQL] 해커랭크(HackerRank) - The Blunder

develop_wan·2021년 12월 30일

HackerRank SQL

목록 보기
32/51
post-thumbnail

https://www.hackerrank.com/challenges/the-blunder/problem?isFullScreen=true


문제


해석
사만다는 직원 테이블에 있는 모든 직원의 평균 월급을 계산하는 일을 맡았지만 계산을 마친 후에야 키보드의 0 키가 고장 났다는 것을 알았다. 그녀는 자신의 오산(0을 빼고 계산)과 실제 평균 급여 간의 차이를 찾는 데 도움을 받고자 합니다.

오류의 양(즉, 실제 평균 급여 - 잘못 계산된 월평균 급여)을 계산하는 질의를 작성하여 다음 정수로 반올림합니다.

select
    cast(ceiling(avg(cast(salary as float)) 
    - avg(cast(replace(salary,0,'') as float))) as int)
from
    employees

※ EMPLOYEE TABLE의 Salary COLUMN의 TYPE은 'INTEGET(정수)'이므로
실제 평균 급여, 잘못 계산된 월 평균 급여를 모두 'FLOAT(실수)' TYPE으로 변경 후 계산한 값을 정수로 반올림 진행

  • 실제 평균 급여
    avg(cast(salary as float)
  • 잘못 계산된 월평균 급여
    avg(cast(replace(salary,0,'') as float))
profile
서른. 개발자가 되기로 했다

0개의 댓글