데이터 분석 기술 블로그

Queries Quality and Percentage _ Easy. LeetCode * 본문

SQL/문제풀이

Queries Quality and Percentage _ Easy. LeetCode *

데이터분석가 이채은 2024. 10. 12. 20:09

 

Solution

SELECT query_name, 
    ROUND(SUM(rating / position) / COUNT(query_name), 2) AS quality, 
    ROUND(SUM(CASE WHEN rating < 3 THEN 1 ELSE 0 END) / COUNT(query_name) * 100 , 2) AS poor_query_percentage
FROM Queries
WHERE query_name IS NOT NULL
GROUP BY query_name;

 

1. rating이 3 이하인 개수를 구해야 하는데 CASE WHEN을 사용할 수 있는지 몰랐었다. 그리고 꼭 END를 뒤에 붙여야 한다.

2. WHERE 절 없이 제출했더니 query_name이 null인 경우는 계산이 안되게 해야 했다.. 근데 문제에 그런 말이 없는데.. Test Case에도 없고.. 디버깅한 것으로 만족해야겠다.