𝙎𝙌𝙇

[HackerRank] Contest Leaderboard

콜라맛갈비 2023. 7. 13. 14:36
728x90

https://www.hackerrank.com/challenges/contest-leaderboard/problem?isFullScreen=true 

 

Contest Leaderboard | HackerRank

Generate the contest leaderboard.

www.hackerrank.com

1. hacker_id별로 challenge_id score가 여러개일 경우 가장 큰 점수만 선택하여

  각각의 challenge_id score 점수 합하기

2. total_score 역순, 동점자가 있으면 hacker_id 순으로 정렬

3. total_score가 0점인 것들은 제외하기

 

SELECT hacker_id
    , name
    , SUM(max_score) total_score
FROM (SELECT s.hacker_id
        , name
        , challenge_id
        , MAX(score) max_score
    FROM Submissions s JOIN Hackers h
        ON s.hacker_id = h.hacker_id
    GROUP BY s.hacker_id, name, challenge_id) A
GROUP BY hacker_id, name
HAVING SUM(max_score) > 0
ORDER BY 3 DESC, 1

 

 

 

 

728x90