๐Ÿฌ MySQL/HackerRank ํ’€์ด

[HackerRank] Contest Leaderboard (Medium)

Chloe._. 2022. 10. 11. 18:51

ํ•ด์ปค์˜ ์•„์ด๋””, ์ด๋ฆ„, ์ ์ˆ˜๋ฅผ ์…€๋ ‰ํ•ด ๋ฆฌ๋”๋ณด๋“œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค

์ ์ˆ˜๊ณ„์‚ฐ์€ ๊ฐ ํ’€์–ด๋ณธ ๋ฌธ์ œ(์ฑŒ๋ฆฐ์ง€)์˜ ์ตœ๊ณ ์ ์„ ๋‹ค ๋”ํ•œ ๊ฐ’์ด๋‹ค

์ง‘๊ณ„๊ฐ’์„ ๋‘๋ฒˆ ์จ์•ผ ํ•˜๋‹ˆ๊นŒ ์„œ๋ธŒ์ฟผ๋ฆฌ์™€ ๋ฉ”์ธ์ฟผ๋ฆฌ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ทธ๋ฃน๋ฐ”์ด๋ฅผ ๋‘๋ฒˆ ํ•˜๋ฉด ๋œ๋‹ค

 

SELECT hacker_id, h.name, SUM(score) AS total
FROM (SELECT hacker_id, challenge_id, MAX(score) AS score
    FROM submissions
    GROUP BY hacker_id, challenge_id) sub
JOIN hackers h USING(hacker_id)
GROUP BY 1, 2
HAVING total != 0
ORDER BY 3 DESC, 1 ASC

๊ทธ๋ฃน๋ฐ”์ด ํ›„์˜ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์กฐ๊ฑด์ด๋‹ˆ๊นŒ WHERE์ด ์•„๋‹Œ HAVING์ด๋‹ค

๊ทธ๋ฃน์„ ๋‘๋ฒˆ ํ•˜๋Š”๊ฒŒ ๊ฑธ๋ ค์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ํ’€์ด๋ฅผ ๋ดค๋Š”๋ฐ ๋ชจ๋‘ ๋˜‘๊ฐ™์ด ํ’€์—ˆ๋‹ค