[MSSQL] 해커랭크(HackerRank) - Challenges

develop_wan·2022년 1월 3일

HackerRank SQL

목록 보기
49/51
post-thumbnail

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


문제


해석
Julia는 학생들에게 코딩 문제를 만들어보라고 부탁했습니다. 질의를 작성하여 hacker_id, 이름 및 각 학생이 만든 총 도전 횟수를 출력합니다. 내림차순으로 총 도전 횟수별로 결과를 정렬합니다. 둘 이상의 학생이 동일한 수의 문제를 만든 경우 hacker_id를 기준으로 결과를 정렬합니다. 두 명 이상의 학생이 동일한 수의 과제를 만들었고, 그 횟수가 생성된 최대 과제 수보다 적으면, 해당 학생을 결과에서 제외합니다.

with
    data
as
    (
    select
        h.hacker_id as id
    ,   h.name as name
    ,   count(h.hacker_id) as counter
    from
        hackers as h
        join challenges as c on h.hacker_id = c.hacker_id
    group by
        h.hacker_id
    ,   h.name
    )
select
    id
,   name
,   counter
from
    data
where
    counter = (
              select
                  max(counter)
              from
                  data
              )
    or
    counter in (
               select
                   counter
               from
                   data
               group by
                   counter
               having
                   count(counter) = 1
               )
order by
    counter desc
,   id
profile
서른. 개발자가 되기로 했다

0개의 댓글