Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

하루에 하나씩 공부하기

[해커랭크 Basic Join] Top Competitors 본문

카테고리 없음

[해커랭크 Basic Join] Top Competitors

dltaexox 2025. 9. 12. 20:56

- 문제

만점이 2개 이상인 해커의 ID, 이름 출력

Top Competitors | HackerRank

 

Top Competitors | HackerRank

Query a list of top-scoring hackers.

www.hackerrank.com

 

- 키포인트

조인 방식에 대해 한참 잘못 연결

그리고 문제를 잘 읽자(HAVING 조건 생략한 채 풀이)

 

- 쿼리

SELECT S.HACKER_ID, H.NAME
FROM SUBMISSIONS S
JOIN CHALLENGES C ON S.CHALLENGE_ID = C.CHALLENGE_ID
JOIN DIFFICULTY D ON C.DIFFICULTY_LEVEL = D.DIFFICULTY_LEVEL
JOIN HACKERS H ON S.HACKER_ID = H.HACKER_ID
WHERE S.SCORE=D.SCORE
GROUP BY S.HACKER_ID, H.NAME
HAVING COUNT(DISTINCT S.CHALLENGE_ID)>1
ORDER BY COUNT(DISTINCT(S.CHALLENGE_ID)) DESC, S.HACKER_ID ASC;

 

가장 공통되는 테이블을 먼저 설정 후 조인

특히 HACKER_ID는 중복값을 가지므로 첫번째 조인은 CHALLENGE_ID를 기준으로 조인