📖 문제
🧑🏻💻 풀이 과정
1) 문제 이해 및 접근
총 수입 계산을 위해 연산 및 별칭 사용
서브쿼리와 Group by 를 이용하여 접근 시도를 하였으나, 어려움을 겪음
총 수입이 많은 순서대로 정렬 및 제한된 개수의 결과만 출력하도록 접근
COUNT(*) 사용시 원치않는 NULL 값이 포함될 수 있어 특정열을 카운트하도록 사용
2) 풀이 코드
사용 언어 - MySQL
SELECT (months * salary) AS earnings, COUNT(name) -- 총 수입, 같은 수입을 가진 사람의 수
FROM employee
GROUP BY earnings -- 총 수입을 그룹으로 묶음
ORDER BY earnings DESC -- 수입이 많은 순으로 정렬
LIMIT 1; -- 상위 1개만 출력
📝 결과 및 학습한 내용
1) 어려웠던 내용
계산된 총 수입을 서브쿼리로 이용한 후 그 수입들 중 최대값을 구하고, 그 최대값의 개수를 구하려고 시도하였으나 몇몇 오류로 어려움을 겪어서 다른 방법으로 접근
2) 새롭게 학습한 내용
원하는 결과를 출력하는 방식에는 여러 방법이 있어서, 해결이 잘 되지 않을때는 다른 방식으로 접근하는것도 좋다
🔗 문제 링크
- https://www.hackerrank.com/challenges/earnings-of-employees/problem?isFullScreen=false
※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다
'알고리즘 문제풀이 > SQL' 카테고리의 다른 글
[프로그래머스] 이름에 el이 들어가는 동물 찾기 (0) | 2022.01.01 |
---|---|
[프로그래머스] DATETIME에서 DATE로 형 변환 (0) | 2021.12.31 |
[HackerRank] The Blunder (0) | 2021.12.29 |
[HackerRank] The Report (0) | 2021.12.28 |
[HackerRank] Average Population of Each Continent (0) | 2021.12.27 |
댓글