알고리즘 문제/프로그래머스

프로그래머스 조건에 맞는 사원 정보 조회하기 [Lv. 2] (MySQL)

우대비 2024. 11. 1. 21:34
반응형
 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

연간 받은 모든 점수의 합이 가장 큰 사원의 정보를 조회해주세요

 

SELECT SUM(SCORE) AS SCORE, E.EMP_NO, E.EMP_NAME, E.POSITION, E.EMAIL
FROM HR_EMPLOYEES E INNER JOIN HR_GRADE G ON E.EMP_NO = G.EMP_NO
GROUP BY EMP_NO, YEAR
HAVING YEAR = '2022'
ORDER BY SCORE DESC
LIMIT 1

 

INNER JOIN을 통해 조건(E.EMP_NO = G.EMP_NO)이 맞는 행을 결합 시켰습니다.

여기까지만 한다면 아래와 같은 결과가 조회됩니다.

 

이제 해야할 것은 한사람이 받은 점수를 합쳐주는 것 입니다.

 

GROUP BY EMP_NO, YEAR을 이용하여 같은(번호, 연도)행을 하나로 합쳐주었습니다.

이후에  SUM(G_SCORE)를 통해 점수가 더해지게 되고

점수를 기준으로 내림차순, LIMIT 1을 통해 가장 위의 1개만 조회하면 됩니다.

 

반응형
LIST