본문 바로가기

코딩테스트/SQL - 프로그래머스

SQL 고득점 kit(GROUP BY) - 조건에 맞는 사원 정보 조회하기

 

프로그래머스 문제

https://school.programmers.co.kr/learn/courses/30/lessons/284527#qna

 

 

풀이

https://school.programmers.co.kr/questions/72886

 

 

 

 

 

# 풀이 쿼리
SELECT SUM(G.SCORE) AS SCORE
     , G.EMP_NO
     , E.EMP_NAME
     , POSITION
     , EMAIL
    FROM HR_GRADE G
    LEFT JOIN HR_EMPLOYEES E
        ON G.EMP_NO = E.EMP_NO
    GROUP BY G.EMP_NO
    ORDER BY SUM(SCORE) DESC
    LIMIT 1;

 

 

- 좀 더 복잡한 조건이거나, 추가로 뭔가 조건이 있었다면 ROW_NUMBER()를 써야 했을 것이다. 물론 이 문제도 ROW_NUMBER()를 써서 해결 가능하다.