본문 바로가기
HackerRank - MS SQL Server

[해커랭크/MS SQL] Top Competitors

by nomeleon 2022. 3. 25.
반응형

문제 링크입니다!

 

Top Competitors | HackerRank

Query a list of top-scoring hackers.

www.hackerrank.com

 

문제

 

=> 줄리아는 코딩 대회를 막 끝냈고, 리더보드를 조립하는데 당신의 도움이 필요하다!

하나 이상의 챌린지에 대해 전체 점수를 획득한 각 hacker_id 및 해커의 이름을 출력하고,

해커가 만점을 획득한 총 문제 수에 따라 출력을 내림차순으로 정렬해라.

만약 둘 이상의 해커가 동일한 수의 챌린지에서 전체 점수를 받은 경우 hacker_id를 기준으로 오름차순 정렬해라.


 

풀이

select
    h.hacker_id
,   h.name
from
    hackers as h
    join submissions as s on s.hacker_id = h.hacker_id
    join challenges as c on c.challenge_id = s.challenge_id
    join difficulty as d on d.difficulty_level = c.difficulty_level
where
    s.score = d.score
    and
    c.difficulty_level = d.difficulty_level
group by
    h.hacker_id
,   h.name
having
    count(h.hacker_id) > 1
order by
    count(h.hacker_id) desc
,   h.hacker_id

 

  • HAVING : 그룹 또는 집계에 대한 검색 조건을 지정
 

HAVING(Transact-SQL) - SQL Server

SELECT - HAVING(Transact-SQL)

docs.microsoft.com

 

댓글