꿈은 데이터분석가, 취미는 계획

[MY SQL] 콘테스트별 참여비율 확인하기 본문

SQL/sql문풀

[MY SQL] 콘테스트별 참여비율 확인하기

data_2080 2024. 9. 25. 17:39
728x90

출처: [leetcode - SQL50] :  1251. Average Selling Price

문제:  가격변동 정보 테이블과 구매 테이블을 사용하여 제품별 평균 가격 구하기


서브쿼리 활용하기 

1) SELECT절에 서브쿼리를 활용하여 전체 user수를 cnt

2) 아무도 참가하지 않은 콘테스트가 있을 수 있으므로 null을 처리할 수 있게 IFNULL을 사용
3) 이벤트별 참가자 수 / 전체 유저 수 => 비율 구하기

SELECT contest_id, IFNULL(ROUND(COUNT(user_id) / 
        (SELECT COUNT(user_id)
        FROM Users)*100,2),0) AS percentage 
FROM Register
GROUP BY contest_id  
ORDER BY percentage DESC, contest_id
728x90