♟️ 알고리즘/Leetcode

[MySQL][Leet Code] 1633. Percentage of Users Attended a Contest (Easy)

Jerry_K 2025. 2. 18. 18:32


https://leetcode.com/problems/percentage-of-users-attended-a-contest/?envType=study-plan-v2&envId=top-sql-50


🗒️SQL 코드 풀이 

SELECT R.contest_id, 
    ROUND(COUNT(DISTINCT R.user_id)/(SELECT COUNT(DISTINCT user_id)FROM Users)*100 ,2) percentage 
    FROM
         Register R
    GROUP BY
         contest_id 
    ORDER BY 
        percentage DESC, contest_id

 

1. 메인 테이블은 Register의 테이블이다. 

 

2. Register 테이블을 contest_id로 그룹화를 해주고,  문제 조건에 맞게 ORDER BY를 해준다.

 

3.  스칼라 서브쿼리를 사용해서 User가 총 몇 명인지 파악 후 문제 요구 사항대로 식을 작성한다.

 

 

 

📌 문제 코멘트 

문제 자체는 어렵지 않았고, 포스팅의 목적은 스칼라 서브쿼리 !! 

  • 스칼라 서브쿼리가 뭔지 몰랐다.
  • 전체 User 수를 어떻게 구해야할지에 막혔다.

→ 이렇게 행의 개수를 파악해야 하구나 ! 


📚문제