[SQL문제풀기] 게임 평점 예측하기 1

silver's avatar
Mar 12, 2025
[SQL문제풀기] 게임 평점 예측하기 1
Contents
문제SQLite

문제

SQLite

내가 작성한 오답

: 평론가 데이터만 존재하지 않는 경우와 사용자 평점 데이터만 존재하지 않는 경우를 생각하지 않고 평론가와 사용자 모두 데이터가 없는 경우만 생각했다.
notion image
평론가 평점 데이터만 존재하지 않는 경우
notion image
사용자 평점 데이터만 존재하지 않는 경우
with a as (select round(avg(critic_score),3) critic_score, ceiling(avg(critic_count)) critic_count, round(avg(user_score),3) user_score, ceiling(avg(user_count)) user_count, genre_id from games group by genre_id) select g.game_id, g.name, a.critic_score, a.critic_count, a.user_score, a.user_count from games g left join a a on a.genre_id = g.genre_id where g.year >= 2015 and (g.critic_score is null and g.user_score is null)
 

내가 작성한 정답

: 위의 쿼리에서 g.critic_score is null and g.user_score is null 부분을 and가 아닌 or로 변경하고 평론가 데이터만 존재하는 경우와 사용자 데이터만 존재하는 경우 존재하는 데이터를 가져오기 위해 ifnull을 사용했다.
notion image
with a as (select round(avg(critic_score),3) critic_score, ceiling(avg(critic_count)) critic_count, round(avg(user_score),3) user_score, ceiling(avg(user_count)) user_count, genre_id from games group by genre_id) select g.game_id, g.name, ifnull(g.critic_score,a.critic_score) critic_score, ifnull(g.critic_count,a.critic_count) critic_count, ifnull(g.user_score,a.user_score) user_score, ifnull(g.user_count,a.user_count) user_count from games g left join a a on a.genre_id = g.genre_id where g.year >= 2015 and (g.critic_score is null or g.user_score is null)
 
Share article

silver