728x90
728x90
Problem
Julia just finished conducting a coding contest, and she needs your help assembling the leaderboard! Write a query to print the respective hacker_id and name of hackers who achieved full scores for more than one challenge. Order your output in descending order by the total number of challenges in which the hacker earned a full score. If more than one hacker received full scores in same number of challenges, then sort them by ascending hacker_id.
-> 두 개 이상의 대회에서 만점을 획득한 해커들의 각각 id와 이름을 출력한다. 만점을 획득한 총 횟수에 따라 내림차순 정렬을 하고, 횟수가 동일할 시에는 해커 id 값으로 오름차순 정렬을 해서 출력한다.
Answer
select s.hacker_id , h.name
from submissions s
inner join challenges c on s.challenge_id = c.challenge_id
inner join Difficulty d on d.difficulty_level = c.difficulty_level
inner join Hackers h on s.hacker_id = h.hacker_id
where s.score = d.score
group by s.hacker_id,h.name
having count(s.challenge_id) > 1
order by count(s.challenge_id) desc , s.hacker_id
* 각각 테이블의 key값들과 모두 연결 시킨다. 그 다음에 제출 점수와 만점 점수와 동일한 값을 해커 id와 이름으로 그룹화하여, 해커의 만점 횟수가 1보다 큰 값을 출력시킨다. 마지막으로 만점 횟수 내림차순, 해커 id 오름차순으로 정렬시켜서 출력시킨다.
728x90
728x90
'Language > SQL' 카테고리의 다른 글
[HackerRank][SQL][JOIN] Advanced Join, SQL Project Planning - 컴도리돌이 (0) | 2022.06.03 |
---|---|
[HackerRank][SQL][JOIN] The Report - 컴도리돌이 (0) | 2022.05.28 |
[HackerRank][SQL][JOIN] Average Population of Each Continent - 컴도리돌이 (0) | 2022.05.28 |
[HackerRank][SQL][JOIN] African Cities- 컴도리돌이 (0) | 2022.05.28 |
[HackerRank][SQL][Aggregation] Weather Observation Station 21 - 컴도리돌이 (0) | 2022.05.27 |