본문 바로가기

SQL/[HackerRank]

[HackerRank/MySQL] The Blunder

728x90

< Problem >

지급받아야 할 월급의 숫자 0이 빠지고 계산되는 상황 발생 (예시: 2006 → 26)

지급받아야 하는 월급 금액과 잘못 지급 받은 금액의 차 구하기(정수값)

링크:  https://www.hackerrank.com/challenges/the-blunder/problem

 

The Blunder | HackerRank

Query the amount of error in Sam's result, rounded up to the next integer.

www.hackerrank.com


< Code >

SELECT CEIL(AVG(salary)- AVG(REPLACE(CONVERT(salary, CHAR), '0', '')))
FROM employees

 

< Lesson & Learned >

SELECT: 키워드와 함께 검색하고 싶은 속성의 이름을 나열
FROM: 키워드와 함께 검색하고 싶은 속성이 있는 데이블의 이름을 나열
AVG( ): 속성 값의 평균을 검색하기 위한 집계함수
CEIL( ): 소수 첫째 자리에서 올림. ROUND와 달리 무조건 정수값이 출력된다.
CONVERT(A, B): 속성 A를 B타입으로 변환함.
REPLACE(A, B, C): A의 문자열 중 B를 C로 바꿔줌. 문자열에서만 사용 가능하기 때문에 숫자는 문자열로 변환한 뒤에 사용해야 함.

728x90