아니 ;;; 문제가 좀 말을 이상하게 하는 것 같은데 ;;;
제출횟수가 중복되는 경우 최대 제출 횟수와 일치하는 경우를 제외하고는 전부 제거한다.
라고 하면 되잖아..;;
어쨌든 정답 쿼리는 아래와 같다.
WITH CTE AS (
SELECT h.hacker_id ID, h.name NAME, COUNT(*) CNT
FROM Hackers h
JOIN Challenges c ON h.hacker_id = c.hacker_id
GROUP BY h.hacker_id, h.name
)
SELECT ID, NAME, CNT
FROM CTE
WHERE CNT IN (
SELECT CNT
FROM CTE
GROUP BY CNT
HAVING COUNT(*) = 1
OR CNT = (SELECT MAX(CNT)
FROM CTE)
)
ORDER BY CNT DESC, ID;
아니 다른게 어려운게 아니라 ;; 문제가 말이 좀 어렵다..;; 확실히 영어라 그런가 ;;; 이게 가끔 말이 되나? 싶은 부분들이 있는데 이건 그냥 내가 부족한걸로....